summaryrefslogtreecommitdiff
path: root/TAO/CIAO/ciao/Container_Base.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/ciao/Container_Base.h')
-rw-r--r--TAO/CIAO/ciao/Container_Base.h43
1 files changed, 36 insertions, 7 deletions
diff --git a/TAO/CIAO/ciao/Container_Base.h b/TAO/CIAO/ciao/Container_Base.h
index 651ea557ec3..2bf5f67c224 100644
--- a/TAO/CIAO/ciao/Container_Base.h
+++ b/TAO/CIAO/ciao/Container_Base.h
@@ -80,10 +80,42 @@ namespace CIAO
PortableServer::POA_var poa_;
};
+ class Session_Container;
+
+ typedef ::Components::HomeExecutorBase_ptr (*HomeFactory) (void);
+ typedef ::PortableServer::Servant (*ServantFactory)
+ (::Components::HomeExecutorBase_ptr p,
+ ::CIAO::Session_Container *c
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ HomeFactory,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> HOMECREATOR_FUNCPTR_MAP;
+
+ typedef ACE_Hash_Map_Manager_Ex<ACE_CString,
+ ServantFactory,
+ ACE_Hash<ACE_CString>,
+ ACE_Equal_To<ACE_CString>,
+ ACE_Null_Mutex> HOMESERVANTCREATOR_FUNCPTR_MAP;
+
+ struct Static_Config_EntryPoints_Maps
+ {
+ /// Map of home creator entry point name and func ptr
+ HOMECREATOR_FUNCPTR_MAP* home_creator_funcptr_map_;
+
+ /// Map of home servant creator entry point name and func ptr
+ HOMESERVANTCREATOR_FUNCPTR_MAP* home_servant_creator_funcptr_map_;
+ };
+
class CIAO_SERVER_Export Session_Container : public Container
{
public:
- Session_Container (CORBA::ORB_ptr o);
+ Session_Container (CORBA::ORB_ptr o,
+ int static_config_flag,
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps
+ );
virtual ~Session_Container (void);
@@ -157,13 +189,10 @@ namespace CIAO
long number_;
static ACE_Atomic_Op <ACE_SYNCH_MUTEX, long> serial_number_;
- };
- typedef ::Components::HomeExecutorBase_ptr (*HomeFactory) (void);
- typedef ::PortableServer::Servant (*ServantFactory)
- (::Components::HomeExecutorBase_ptr p,
- ::CIAO::Session_Container *c
- ACE_ENV_ARG_DECL_WITH_DEFAULTS);
+ int static_config_flag_;
+ const Static_Config_EntryPoints_Maps* static_entrypts_maps_;
+ };
}
#if defined (__ACE_INLINE__)