summaryrefslogtreecommitdiff
path: root/TAO/tao/default_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/default_server.h')
-rw-r--r--TAO/tao/default_server.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/TAO/tao/default_server.h b/TAO/tao/default_server.h
index f84fdd61ab7..7ac576a9440 100644
--- a/TAO/tao/default_server.h
+++ b/TAO/tao/default_server.h
@@ -38,9 +38,21 @@ public:
// = Server-side ORB Strategy Factory Methods.
virtual CONCURRENCY_STRATEGY *concurrency_strategy (void);
- virtual TAO_Object_Table *create_object_table (void);
+ virtual TAO_Object_Table_Impl *create_object_table (void);
// Factory method for object tables.
+ virtual ACE_Lock *create_poa_lock (void);
+ // Creates and returns a lock for POA based on the setting for
+ // <-ORBpoalock>. A setting of <thread> returns an
+ // <ACE_Lock_Adapter\<ACE_Thread_Mutex\>>; a setting of <null>
+ // returns an <ACE_Lock_Adapter\<ACE_NULL_Mutex\>>.
+
+ virtual ACE_Lock *create_poa_mgr_lock (void);
+ // Creates and returns a lock for a POA Manager based on the setting
+ // for <-ORBpoamgrlock>. A setting of <thread> returns an
+ // <ACE_Lock_Adapter\<ACE_Thread_Mutex\>>; a setting of <null>
+ // returns an <ACE_Lock_Adapter\<ACE_NULL_Mutex\>>.
+
// = Service Configurator hooks.
virtual int init (int argc, char *argv[]);
// Initialize the ORB when it's linked dynamically.
@@ -52,7 +64,11 @@ public:
// <-ORBtablesize> <{num}>
// to set the table size
// <-ORBdemuxstrategy> <{which}>
- // where <{which}> is one of <dynamic>, <linear>, or <active>.
+ // where <{which}> is one of <dynamic>, <linear>, or <active>
+ // <-ORBpoalock> <{which}>
+ // where <{which}> is one of <thread> or <null> (default <thread>)
+ // <-ORBpoamgrlock> <{which}>
+ // where <{which}> is one of <thread> or <null> (default <thread>)
private:
void tokenize (char *flag_string);
@@ -66,6 +82,18 @@ private:
TAO_Demux_Strategy object_lookup_strategy_;
// The type of lookup/demultiplexing strategy being used
+ enum Lock_Type
+ {
+ TAO_NULL_LOCK,
+ TAO_THREAD_LOCK
+ };
+
+ Lock_Type poa_lock_type_;
+ // The type of lock to be returned by <create_poa_lock()>.
+
+ Lock_Type poa_mgr_lock_type_;
+ // The type of lock to be returned by <create_poa_mgr_lock()>.
+
// = Strategies Used.
TAO_Reactive_Strategy<TAO_Server_Connection_Handler> reactive_strategy_;
// A strategy for passively establishing connections which utilizes