00001 #ifndef _IT_BUS_PDK_BUS_PLUGIN_H_
00002 #define _IT_BUS_PDK_BUS_PLUGIN_H_
00003
00004
00005
00006
00007 #ifndef IT_MINIMISE_INCLUDES
00008 #include <it_bus/bus.h>
00009 #endif
00010 #include <it_bus/exception.h>
00011 #include <it_cal/cal.h>
00012 #include <it_bus/api_defines.h>
00013 #include <it_bus/bus_type_alias.h>
00014 #include <it_bus/logging_defs.h>
00015
00016 namespace IT_Bus
00017 {
00023 class IT_BUS_API BusPlugIn
00024 {
00025 public:
00033 IT_EXPLICIT
00034 BusPlugIn(
00035 Bus_ptr bus
00036 ) throw((Exception));
00037
00041 virtual
00042 ~BusPlugIn();
00043
00049 Bus_ptr
00050 get_bus() const;
00051
00061 virtual void
00062 bus_init(
00063 ) throw((Exception)) = 0;
00064
00068 virtual void
00069 bus_shutdown(
00070 ) throw((Exception)) = 0;
00071
00072 protected:
00073 IT_DECLARE_BUS_LOGGER_MEM
00074 private:
00075 BusPlugIn(
00076 const BusPlugIn&
00077 );
00078
00079 BusPlugIn&
00080 operator=(
00081 const BusPlugIn&
00082 );
00083
00084 Bus_var m_bus;
00085 };
00086 }
00087
00088 #endif