00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackGlobals__
00021 #define __JackGlobals__
00022
00023 #include "JackPlatformPlug.h"
00024 #include "JackSystemDeps.h"
00025 #include "JackConstants.h"
00026
00027 #ifdef __CLIENTDEBUG__
00028 #include <iostream>
00029 #include <fstream>
00030 #include <string>
00031 #include <time.h>
00032 #endif
00033
00034 namespace Jack
00035 {
00036
00037
00038 struct JackGlobals {
00039
00040 static jack_tls_key fRealTimeThread;
00041 static jack_tls_key fNotificationThread;
00042 static jack_tls_key fKeyLogFunction;
00043 static JackMutex* fOpenMutex;
00044 static JackMutex* fSynchroMutex;
00045 static volatile bool fServerRunning;
00046 static JackClient* fClientTable[CLIENT_NUM];
00047 static bool fVerbose;
00048 #ifndef WIN32
00049 static jack_thread_creator_t fJackThreadCreator;
00050 #endif
00051
00052 #ifdef __CLIENTDEBUG__
00053 static std::ofstream* fStream;
00054 #endif
00055 static void CheckContext(const char* name);
00056 };
00057
00058
00059 extern SERVER_EXPORT JackGraphManager* GetGraphManager();
00060 extern SERVER_EXPORT JackEngineControl* GetEngineControl();
00061 extern SERVER_EXPORT JackSynchro* GetSynchroTable();
00062
00063 }
00064
00065 #endif