00001 #ifndef _IT_BUS_PDK_BUS_ORB_PLUGIN_STATE_BASE_H_
00002 #define _IT_BUS_PDK_BUS_ORB_PLUGIN_STATE_BASE_H_
00003
00004
00005
00006
00007 #include <it_bus/api_defines.h>
00008 #include <omg/orb.hh>
00009 #include <orbix_pdk/orb_plugin.hh>
00010 #include <orbix/corba.hh>
00011 #include <it_bus_pdk/bus_plugin.h>
00012 #include <it_bus/types.h>
00013
00014 namespace IT_Bus
00015 {
00016 class IT_BUS_API PerBusORBStateBase :
00017 public BusPlugIn,
00018 public IT_ORBPlugIn::PerORBState,
00019 public virtual IT_CORBA::RefCountedLocalObject
00020 {
00021 public:
00022 PerBusORBStateBase(
00023 CORBA::IT_ORB_ptr orb,
00024 const char* plugin_name
00025 );
00026
00027 virtual
00028 ~PerBusORBStateBase();
00029
00030 virtual CORBA::Boolean
00031 in_invocation_context(
00032 ) throw((CORBA::SystemException));
00033
00034 virtual void
00035 shutdown_server(
00036 ) throw((CORBA::SystemException));
00037
00038 virtual void
00039 shutdown_client(
00040 ) throw((CORBA::SystemException));
00041
00042 virtual void
00043 shutdown_complete(
00044 ) throw((CORBA::SystemException));
00045
00046 virtual void
00047 init_complete(
00048 ) throw((CORBA::SystemException));
00049
00050 virtual void
00051 bus_init(
00052 ) throw((Exception)) = 0;
00053
00054 virtual void
00055 bus_shutdown(
00056 ) throw((Exception)) = 0;
00057
00058 private:
00059 PerBusORBStateBase(
00060 const PerBusORBStateBase&
00061 );
00062
00063 PerBusORBStateBase&
00064 operator=(
00065 const PerBusORBStateBase&
00066 );
00067
00068 CORBA::IT_ORB_var m_orb;
00069 String m_plugin_name;
00070 };
00071 }
00072
00073 #endif