23#ifdef JUCE_CORE_H_INCLUDED
29 #error "Incorrect use of JUCE cpp file"
32#define JUCE_CORE_INCLUDE_OBJC_HELPERS 1
33#define JUCE_CORE_INCLUDE_COM_SMART_PTR 1
34#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1
35#define JUCE_CORE_INCLUDE_JNI_HELPERS 1
44#if ! (JUCE_ANDROID || JUCE_BSD)
45 #include <sys/timeb.h>
57 JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4091)
59 JUCE_END_IGNORE_WARNINGS_MSVC
61 #if ! JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES
62 #pragma comment (lib, "DbgHelp.lib")
67 #if JUCE_LINUX || JUCE_BSD || JUCE_ANDROID
68 #include <sys/types.h>
69 #include <sys/socket.h>
70 #include <sys/errno.h>
72 #include <netinet/in.h>
77 #include <sys/types.h>
78 #include <sys/socket.h>
81 #include <netinet/in.h>
85 #if JUCE_LINUX || JUCE_BSD
89 #include <sys/resource.h>
92 #include <curl/curl.h>
99 #include <arpa/inet.h>
100 #include <netinet/tcp.h>
101 #include <sys/time.h>
103 #include <sys/ioctl.h>
105 #if ! (JUCE_ANDROID || JUCE_WASM)
106 #include <execinfo.h>
110#if JUCE_MAC || JUCE_IOS
112 #include <mach/mach.h>
117 #include <android/log.h>
123#include "containers/juce_AbstractFifo.cpp"
124#include "containers/juce_ArrayBase.cpp"
125#include "containers/juce_ListenerList.cpp"
126#include "containers/juce_NamedValueSet.cpp"
127#include "containers/juce_OwnedArray.cpp"
128#include "containers/juce_PropertySet.cpp"
129#include "containers/juce_ReferenceCountedArray.cpp"
130#include "containers/juce_SparseSet.cpp"
131#include "files/juce_DirectoryIterator.cpp"
132#include "files/juce_RangedDirectoryIterator.cpp"
133#include "files/juce_File.cpp"
134#include "files/juce_FileInputStream.cpp"
135#include "files/juce_FileOutputStream.cpp"
136#include "files/juce_FileSearchPath.cpp"
137#include "files/juce_TemporaryFile.cpp"
138#include "logging/juce_FileLogger.cpp"
139#include "logging/juce_Logger.cpp"
140#include "maths/juce_BigInteger.cpp"
141#include "maths/juce_Expression.cpp"
142#include "maths/juce_Random.cpp"
143#include "memory/juce_MemoryBlock.cpp"
144#include "memory/juce_AllocationHooks.cpp"
145#include "misc/juce_RuntimePermissions.cpp"
146#include "misc/juce_Result.cpp"
147#include "misc/juce_Uuid.cpp"
148#include "misc/juce_ConsoleApplication.cpp"
149#include "misc/juce_ScopeGuard.cpp"
150#include "network/juce_MACAddress.cpp"
151#include "network/juce_NamedPipe.cpp"
152#include "network/juce_Socket.cpp"
153#include "network/juce_IPAddress.cpp"
154#include "streams/juce_BufferedInputStream.cpp"
155#include "streams/juce_FileInputSource.cpp"
156#include "streams/juce_InputStream.cpp"
157#include "streams/juce_MemoryInputStream.cpp"
158#include "streams/juce_MemoryOutputStream.cpp"
159#include "streams/juce_SubregionStream.cpp"
160#include "system/juce_SystemStats.cpp"
161#include "text/juce_CharacterFunctions.cpp"
162#include "text/juce_Identifier.cpp"
163#include "text/juce_LocalisedStrings.cpp"
164#include "text/juce_String.cpp"
165#include "streams/juce_OutputStream.cpp"
166#include "text/juce_StringArray.cpp"
167#include "text/juce_StringPairArray.cpp"
168#include "text/juce_StringPool.cpp"
169#include "text/juce_TextDiff.cpp"
170#include "text/juce_Base64.cpp"
171#include "threads/juce_ReadWriteLock.cpp"
172#include "threads/juce_Thread.cpp"
173#include "threads/juce_ThreadPool.cpp"
174#include "threads/juce_TimeSliceThread.cpp"
175#include "time/juce_PerformanceCounter.cpp"
176#include "time/juce_RelativeTime.cpp"
177#include "time/juce_Time.cpp"
178#include "unit_tests/juce_UnitTest.cpp"
179#include "containers/juce_Variant.cpp"
180#include "javascript/juce_JSON.cpp"
181#include "javascript/juce_JSONUtils.cpp"
182#include "javascript/juce_Javascript.cpp"
183#include "containers/juce_DynamicObject.cpp"
184#include "xml/juce_XmlDocument.cpp"
185#include "xml/juce_XmlElement.cpp"
186#include "zip/juce_GZIPDecompressorInputStream.cpp"
187#include "zip/juce_GZIPCompressorOutputStream.cpp"
188#include "zip/juce_ZipFile.cpp"
189#include "files/juce_FileFilter.cpp"
190#include "files/juce_WildcardFileFilter.cpp"
191#include "native/juce_ThreadPriorities_native.h"
192#include "native/juce_PlatformTimerListener.h"
196 #include "native/juce_SharedCode_posix.h"
197 #include "native/juce_NamedPipe_posix.cpp"
198 #if ! JUCE_ANDROID || __ANDROID_API__ >= 24
199 #include "native/juce_IPAddress_posix.h"
204#if JUCE_MAC || JUCE_IOS
205 #include "native/juce_Files_mac.mm"
206 #include "native/juce_Network_mac.mm"
207 #include "native/juce_Strings_mac.mm"
208 #include "native/juce_SharedCode_intel.h"
209 #include "native/juce_SystemStats_mac.mm"
210 #include "native/juce_Threads_mac.mm"
211 #include "native/juce_PlatformTimer_generic.cpp"
212 #include "native/juce_Process_mac.mm"
216 #include "native/juce_Files_windows.cpp"
217 #include "native/juce_Network_windows.cpp"
218 #include "native/juce_Registry_windows.cpp"
219 #include "native/juce_SystemStats_windows.cpp"
220 #include "native/juce_Threads_windows.cpp"
221 #include "native/juce_PlatformTimer_windows.cpp"
225 #include "native/juce_CommonFile_linux.cpp"
226 #include "native/juce_Files_linux.cpp"
227 #include "native/juce_Network_linux.cpp"
229 #include "native/juce_Network_curl.cpp"
231 #include "native/juce_SystemStats_linux.cpp"
232 #include "native/juce_Threads_linux.cpp"
233 #include "native/juce_PlatformTimer_generic.cpp"
237 #include "native/juce_CommonFile_linux.cpp"
238 #include "native/juce_Files_linux.cpp"
239 #include "native/juce_Network_linux.cpp"
241 #include "native/juce_Network_curl.cpp"
243 #include "native/juce_SharedCode_intel.h"
244 #include "native/juce_SystemStats_linux.cpp"
245 #include "native/juce_Threads_linux.cpp"
246 #include "native/juce_PlatformTimer_generic.cpp"
250 #include "native/juce_CommonFile_linux.cpp"
251 #include "native/juce_JNIHelpers_android.cpp"
252 #include "native/juce_Files_android.cpp"
253 #include "native/juce_Misc_android.cpp"
254 #include "native/juce_Network_android.cpp"
255 #include "native/juce_SystemStats_android.cpp"
256 #include "native/juce_Threads_android.cpp"
257 #include "native/juce_RuntimePermissions_android.cpp"
258 #include "native/juce_PlatformTimer_generic.cpp"
262 #include "native/juce_SystemStats_wasm.cpp"
263 #include "native/juce_PlatformTimer_generic.cpp"
266#include "files/juce_common_MimeTypes.h"
267#include "files/juce_common_MimeTypes.cpp"
268#include "native/juce_AndroidDocument_android.cpp"
269#include "threads/juce_HighResolutionTimer.cpp"
270#include "threads/juce_WaitableEvent.cpp"
271#include "network/juce_URL.cpp"
274 #include "threads/juce_ChildProcess.cpp"
275 #include "network/juce_WebInputStream.cpp"
276 #include "streams/juce_URLInputSource.cpp"
281 #include "containers/juce_HashMap_test.cpp"
282 #include "containers/juce_Optional_test.cpp"
283 #include "containers/juce_Enumerate_test.cpp"
284 #include "maths/juce_MathsFunctions_test.cpp"
285 #include "misc/juce_EnumHelpers_test.cpp"
286 #include "containers/juce_FixedSizeFunction_test.cpp"
287 #include "javascript/juce_JSONSerialisation_test.cpp"
288 #include "memory/juce_SharedResourcePointer_test.cpp"
289 #if JUCE_MAC || JUCE_IOS
290 #include "native/juce_ObjCHelpers_mac_test.mm"
306 this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_debug_mode
307 ::this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_debug_mode() noexcept {}
309 this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode
310 ::this_will_fail_to_link_if_some_of_your_compile_units_are_built_in_release_mode() noexcept {}