00001 #ifndef _RDA_RDA_SERVICE_H
00002 #define _RDA_RDA_SERVICE_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include <rda/rdadefs.h>
00014 #include <rda/DeviceHandle.h>
00015 #include <rda/ReplyHandler.h>
00016 #include <rda/Logger.h>
00017
00028 class rdaConnectionManagementThread;
00029
00030 class rdaRDAService
00031 {
00032 public:
00033
00040 static rdaRDAService* init() throw (rdaInternalError);
00041
00048 static void destroy();
00049
00050
00063 static void setServiceContext(const rdaData& ctx);
00064
00070 virtual rdaDeviceHandle * getDeviceHandle(const char * deviceName)
00071 throw (rdaBadParameter, rdaInternalException, rdaInternalError) = 0;
00072
00073
00074
00075
00076 static void setLogLevel(rdaLogger::LogLevel level);
00077
00078 protected:
00079
00080 rdaRDAService() {}
00081 virtual ~rdaRDAService() {}
00082
00083 static rdaRDAService* theService;
00084 static rdaLogger* logger;
00085 static rdaConnectionManagementThread* managementThread;
00086 };
00087
00088 #endif