00001 #ifndef _IT_BUS_PDK_BUS_PLUGIN_H_
00002 #define _IT_BUS_PDK_BUS_PLUGIN_H_
00003
00004
00005
00006
00007 #include <it_cal/cal.h>
00008 #include <it_bus/api_defines.h>
00009 #include <it_bus/bus.h>
00010 #include <it_bus/logging_defs.h>
00011
00012 namespace IT_Bus
00013 {
00019 class IT_BUS_API BusPlugIn
00020 {
00021 public:
00029 IT_EXPLICIT
00030 BusPlugIn(
00031 Bus_ptr bus
00032 ) throw((Exception));
00033
00037 virtual
00038 ~BusPlugIn();
00039
00045 Bus_ptr
00046 get_bus() const;
00047
00057 virtual void
00058 bus_init(
00059 ) throw((Exception)) = 0;
00060
00064 virtual void
00065 bus_shutdown(
00066 ) throw((Exception)) = 0;
00067
00068 protected:
00069 IT_DECLARE_BUS_LOGGER_MEM
00070 private:
00071 BusPlugIn(
00072 const BusPlugIn&
00073 );
00074
00075 BusPlugIn&
00076 operator=(
00077 const BusPlugIn&
00078 );
00079
00080 Bus_var m_bus;
00081 };
00082 }
00083
00084 #endif