00001 #ifndef _IT_BUS_PDK_SERVER_SERVICE_H_
00002 #define _IT_BUS_PDK_SERVER_SERVICE_H_
00003
00004
00005
00006
00007 #include <it_bus/server_service.h>
00008
00009 namespace IT_WorkQueue
00010 {
00011 class WorkQueue;
00012 }
00013
00014 namespace IT_Bus_Managed
00015 {
00016 class ServiceState;
00017 }
00018
00019 namespace IT_Bus {
00020
00021 class ServiceEvent;
00022
00023 class IT_BUS_API PDKServerService : public ServerService
00024 {
00025 public:
00026
00027 virtual void
00028 fire_event(ServiceEvent&) = 0;
00029
00030 virtual void
00031 thread_attach() = 0;
00032
00033 virtual void
00034 thread_detach() = 0;
00035
00036 virtual const IT_Bus_Managed::ServiceState&
00037 get_state() = 0;
00038
00039 protected:
00040
00041 PDKServerService() {}
00042
00043 private:
00044
00045 PDKServerService & operator = (const PDKServerService& rhs);
00046 PDKServerService(const PDKServerService& rhs);
00047 };
00048
00049 }
00050
00051 #endif