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 std::map<std::string, JackDriverInfo*> fSlavesList;
00043 static std::map<std::string, int> fInternalsList;
00044
00045 static bool (* on_device_acquire)(const char* device_name);
00046 static void (* on_device_release)(const char* device_name);
00047
00048 JackServerGlobals();
00049 ~JackServerGlobals();
00050
00051 static bool Init();
00052 static void Destroy();
00053 static int Start(const char* server_name,
00054 jack_driver_desc_t* driver_desc,
00055 JSList* driver_params,
00056 int sync,
00057 int temporary,
00058 int time_out_ms,
00059 int rt,
00060 int priority,
00061 int port_max,
00062 int verbose,
00063 jack_timer_type_t clock,
00064 char self_connect_mode);
00065 static void Stop();
00066 static void Delete();
00067 };
00068
00069 }
00070
00071 #endif
00072