00001 #ifndef _IT_BUS_PDK_BUS_PLUGIN_FACTORY_H_
00002 #define _IT_BUS_PDK_BUS_PLUGIN_FACTORY_H_
00003
00004
00005
00006
00007 #ifndef IT_MINIMISE_INCLUDES
00008 #include <it_bus/bus.h>
00009 #endif
00010 #include <it_bus/api_defines.h>
00011 #include <it_bus/bus_type_alias.h>
00012 #include <it_bus/exception.h>
00013
00014 namespace IT_Bus
00015 {
00016 class BusPlugIn;
00017
00022 class IT_BUS_API BusPlugInFactory
00023 {
00024 public:
00028 BusPlugInFactory();
00029
00033 virtual
00034 ~BusPlugInFactory();
00035
00043 virtual BusPlugIn*
00044 create_bus_plugin(
00045 Bus_ptr bus
00046 ) IT_THROW_DECL((Exception)) = 0;
00047
00053 virtual void
00054 destroy_bus_plugin(
00055 BusPlugIn* bus_plugin
00056 ) = 0;
00057
00058 private:
00059 BusPlugInFactory(
00060 const BusPlugInFactory&
00061 );
00062
00063 BusPlugInFactory&
00064 operator=(
00065 const BusPlugInFactory&
00066 );
00067 };
00068 }
00069
00070 #endif