00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackServerGlobals__
00021 #define __JackServerGlobals__
00022
00023 #include "driver_interface.h"
00024 #include "JackDriverLoader.h"
00025 #include "JackCompilerDeps.h"
00026 #include "JackServer.h"
00027 #include <map>
00028
00029 namespace Jack
00030 {
00031
00032 class JackClient;
00033
00038 struct SERVER_EXPORT JackServerGlobals
00039 {
00040 static JackServer* fInstance;
00041 static unsigned int fUserCount;
00042 static int fRTNotificationSocket;
00043 static std::map<std::string, JackDriverInfo*> fSlavesList;
00044 static std::map<std::string, int> fInternalsList;
00045
00046 static bool (* on_device_acquire)(const char* device_name);
00047 static void (* on_device_release)(const char* device_name);
00048
00049 JackServerGlobals();
00050 ~JackServerGlobals();
00051
00052 static bool Init();
00053 static void Destroy();
00054 static int Start(const char* server_name,
00055 jack_driver_desc_t* driver_desc,
00056 JSList* driver_params,
00057 int sync,
00058 int temporary,
00059 int time_out_ms,
00060 int rt,
00061 int priority,
00062 int port_max,
00063 int verbose,
00064 jack_timer_type_t clock);
00065 static void Stop();
00066 static void Delete();
00067 };
00068
00069 }
00070
00071 #endif
00072