diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/AV/AV_Core.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/AV/AV_Core.h | 82 |
1 files changed, 60 insertions, 22 deletions
diff --git a/TAO/orbsvcs/orbsvcs/AV/AV_Core.h b/TAO/orbsvcs/orbsvcs/AV/AV_Core.h index bc9f7371317..f98863df02a 100644 --- a/TAO/orbsvcs/orbsvcs/AV/AV_Core.h +++ b/TAO/orbsvcs/orbsvcs/AV/AV_Core.h @@ -30,41 +30,73 @@ class TAO_AV_Connector; class TAO_FlowSpec_Entry; //forward declaration. -class TAO_AV_Protocol_Factory; +class TAO_AV_Transport_Factory; -class TAO_Export TAO_AV_Protocol_Item +class TAO_Export TAO_AV_Transport_Item { public: - TAO_AV_Protocol_Item (const ACE_CString &name); - // creator method, the protocol name can only be set when the + TAO_AV_Transport_Item (const ACE_CString &name); + // creator method, the Transport name can only be set when the // object is created. - const ACE_CString &protocol_name (void); - // return a reference to the character representation of the protocol + const ACE_CString &name (void); + // return a reference to the character representation of the Transport // factories name. - TAO_AV_Protocol_Factory *factory (void); - // return a pointer to the protocol factory. + TAO_AV_Transport_Factory *factory (void); + // return a pointer to the Transport factory. - void factory (TAO_AV_Protocol_Factory *factory); + void factory (TAO_AV_Transport_Factory *factory); // set the factory pointer's valus. private: ACE_CString name_; - // protocol factory name. + // Transport factory name. - TAO_AV_Protocol_Factory *factory_; + TAO_AV_Transport_Factory *factory_; // pointer to factory object. }; -// typedefs for containers containing the list of loaded protocol +class TAO_AV_Flow_Protocol_Factory; + +class TAO_Export TAO_AV_Flow_Protocol_Item +{ +public: + TAO_AV_Flow_Protocol_Item (const ACE_CString &name); + // creator method, the Flow_Protocol name can only be set when the + // object is created. + + const ACE_CString &name (void); + // return a reference to the character representation of the Flow_Protocol + // factories name. + + TAO_AV_Flow_Protocol_Factory *factory (void); + // return a pointer to the Flow_Protocol factory. + + void factory (TAO_AV_Flow_Protocol_Factory *factory); + // set the factory pointer's valus. + +private: + ACE_CString name_; + // Flow_Protocol factory name. + + TAO_AV_Flow_Protocol_Factory *factory_; + // pointer to factory object. +}; + +// typedefs for containers containing the list of loaded Flow_Protocol // factories. -typedef ACE_Unbounded_Set<TAO_AV_Protocol_Item*> - TAO_AV_ProtocolFactorySet; +typedef ACE_Unbounded_Set<TAO_AV_Flow_Protocol_Item*> + TAO_AV_Flow_ProtocolFactorySet; + +typedef ACE_Unbounded_Set_Iterator<TAO_AV_Flow_Protocol_Item*> + TAO_AV_Flow_ProtocolFactorySetItor; -typedef ACE_Unbounded_Set_Iterator<TAO_AV_Protocol_Item*> - TAO_AV_ProtocolFactorySetItor; +typedef ACE_Unbounded_Set<TAO_AV_Transport_Item*> + TAO_AV_TransportFactorySet; +typedef ACE_Unbounded_Set_Iterator<TAO_AV_Transport_Item*> + TAO_AV_TransportFactorySetItor; typedef ACE_Unbounded_Set <TAO_FlowSpec_Entry*> TAO_AV_FlowSpecSet; typedef ACE_Unbounded_Set_Iterator <TAO_FlowSpec_Entry*> TAO_AV_FlowSpecSetItor; @@ -92,13 +124,13 @@ public: }; TAO_AV_Core (void); - // = Get the connector registry + // Default constructor. ~TAO_AV_Core (void); // Destructor. int init (int &argc, - char **argv, + char *argv [], CORBA::Environment &env); int run (void); int stop_run (void); @@ -110,7 +142,8 @@ public: TAO_AV_FlowSpecSet &forward_flow_spec_set, TAO_AV_FlowSpecSet &reverse_flow_spec_set, EndPoint direction); - int init_protocol_factories (void); + int init_transport_factories (void); + int init_flow_protocol_factories (void); TAO_AV_Acceptor *get_acceptor (const char *flowname); TAO_AV_Connector *get_connector (const char *flowname); @@ -121,11 +154,13 @@ public: TAO_AV_Acceptor_Registry *acceptor_registry (void); // = Get the protocol factories - TAO_AV_ProtocolFactorySet *protocol_factories (void); + TAO_AV_Flow_ProtocolFactorySet *flow_protocol_factories (void); + TAO_AV_TransportFactorySet *transport_factories (void); // = Set/get the <ACE_Reactor>. void reactor (ACE_Reactor *r); ACE_Reactor *reactor (void); TAO_ORB_Manager *orb_manager (void); + protected: TAO_AV_Connector_Registry *connector_registry_; // The connector registry which all active connecters must register @@ -135,8 +170,11 @@ protected: // The registry which maintains a list of acceptor factories for each // loaded protocol. - TAO_AV_ProtocolFactorySet protocol_factories_; - // Pointer to the list of protocol loaded into this ORB instance. + TAO_AV_TransportFactorySet transport_factories_; + // Pointer to the list of transports loaded into this AV_Core instance. + + TAO_AV_Flow_ProtocolFactorySet flow_protocol_factories_; + // Pointer to the list of flow protocol loaded into this AV_Core instance. ACE_Reactor *reactor_; CORBA::ORB_var orb_; |