diff options
author | Chris Cleeland <chris.cleeland@gmail.com> | 1997-10-31 09:19:13 +0000 |
---|---|---|
committer | Chris Cleeland <chris.cleeland@gmail.com> | 1997-10-31 09:19:13 +0000 |
commit | 14f32a552d02c980cebaa2c653bae5f1ba64698a (patch) | |
tree | 78b83ec9903ec9376224f4a9fe35c7a452ffde08 | |
parent | bb87e60f063ed4dfa48a234242067e74d3233301 (diff) | |
download | ATCD-14f32a552d02c980cebaa2c653bae5f1ba64698a.tar.gz |
First round of TAO_HAS_TSS_ORBCORE elimination.
-rw-r--r-- | TAO/ChangeLog-98c | 31 | ||||
-rw-r--r-- | TAO/tao/default_server.cpp | 9 | ||||
-rw-r--r-- | TAO/tao/default_server.h | 3 | ||||
-rw-r--r-- | TAO/tao/giop.h | 7 | ||||
-rw-r--r-- | TAO/tao/server_factory.cpp | 6 | ||||
-rw-r--r-- | TAO/tao/server_factory.h | 6 |
6 files changed, 55 insertions, 7 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c index b696c9b7fd3..429e713197f 100644 --- a/TAO/ChangeLog-98c +++ b/TAO/ChangeLog-98c @@ -1,3 +1,34 @@ +Fri Oct 31 03:00:09 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * tao/orb_core.cpp: Moved call to connector's open() into init(), + thus insuring that it gets called only AFTER all the resources are + available from the Resource Factory. + + * tao/orb_core.*: Changed data members to be associations rather + than containment. This allows decoupling of the + "thread-specificness" of these resources from the + thread-specificness of the general TAO_ORB_Core container. Also + added set accessors for those resources. + + Added TAO_Resource_Factory class from which the TAO_ORB_Core + container initializes itself. For now this remains a singleton + which is, at compile-time, determined to be either TSS or not. + But, soon, it will be loaded via the Service Configurator and its + TSS nature determined at runtime. + + * tao/giop.h: Updated to use the new ACE macro + ACE_CLASS_IS_NAMESPACE. + + * tao/default_server.*: Implemented the new open() method so that + it initializes the Reactive and Threaded strategies from the + information in TAO_ORB_Core. + + * tao/server_factory.*: Added open() method to be called after all + ORB resources are loaded up. This method can then be used by a + strategy factory to further initialize its contained strategies if + they require handles to resources to which the ORB might legislate + access. The default implementation does nothing. + Fri Oct 31 01:03:05 1997 <irfan@TWOSTEP> * TAO/TAO_IDL/TAO_IDL.{mak,mdp}: Added VC++4.2 make files. diff --git a/TAO/tao/default_server.cpp b/TAO/tao/default_server.cpp index 0138d8e80e2..644d14cc616 100644 --- a/TAO/tao/default_server.cpp +++ b/TAO/tao/default_server.cpp @@ -107,10 +107,15 @@ TAO_Default_Server_Strategy_Factory::tokenize (char *flag_string) int TAO_Default_Server_Strategy_Factory::init (int argc, char *argv[]) { + return this->parse_args (argc, argv); +} + +int +TAO_Default_Server_Strategy_Factory::open (void) +{ TAO_ORB_Core *orb_core = TAO_ORB_Core_instance (); - if (this->parse_args (argc, argv) == 0 - && reactive_strategy_.open (orb_core->reactor ()) == 0 + if (reactive_strategy_.open (orb_core->reactor ()) == 0 && threaded_strategy_.open (orb_core->thr_mgr (), this->thread_flags_) == 0) return 0; diff --git a/TAO/tao/default_server.h b/TAO/tao/default_server.h index 867880a9c24..b18a0641a36 100644 --- a/TAO/tao/default_server.h +++ b/TAO/tao/default_server.h @@ -47,6 +47,9 @@ public: TAO_Default_Server_Strategy_Factory (void); virtual ~TAO_Default_Server_Strategy_Factory (void); + virtual int open (void); + // Call <open> for our strategies. + // = Server-side ORB Strategy Factory Methods. virtual CONCURRENCY_STRATEGY *concurrency_strategy (void); diff --git a/TAO/tao/giop.h b/TAO/tao/giop.h index ad851cc90ac..927fde1d6d8 100644 --- a/TAO/tao/giop.h +++ b/TAO/tao/giop.h @@ -370,6 +370,8 @@ class TAO_GIOP // = DESCRIPTION // Only put static methods within this scope. { + ACE_CLASS_IS_NAMESPACE (TAO_GIOP); + public: // = Close a connection, first sending GIOP::CloseConnection static void close_connection (TAO_Client_Connection_Handler *&handle, @@ -399,11 +401,6 @@ public: static void make_error (CDR &msg, ...); // Construct a message containing an error so that it can be sent as // a response to a request. - -private: - TAO_GIOP(); - TAO_GIOP(TAO_GIOP&); - ~TAO_GIOP(); }; #endif /* TAO_GIOP_H */ diff --git a/TAO/tao/server_factory.cpp b/TAO/tao/server_factory.cpp index 0c3a69d610e..600cc1860d4 100644 --- a/TAO/tao/server_factory.cpp +++ b/TAO/tao/server_factory.cpp @@ -27,6 +27,12 @@ TAO_Server_Strategy_Factory::TAO_Server_Strategy_Factory (void) TAO_Server_Strategy_Factory::~TAO_Server_Strategy_Factory(void) {} +int +TAO_Server_Strategy_Factory::open (void) +{ + return 0; +} + TAO_Server_Strategy_Factory::CREATION_STRATEGY * TAO_Server_Strategy_Factory::creation_strategy (void) { diff --git a/TAO/tao/server_factory.h b/TAO/tao/server_factory.h index fa5d4bcdfe4..da922c46de6 100644 --- a/TAO/tao/server_factory.h +++ b/TAO/tao/server_factory.h @@ -45,6 +45,12 @@ public: virtual ~TAO_Server_Strategy_Factory(void); // Destructor. + virtual int open (void); + // Call <open> on various strategies. This is not performed in + // <init> so that the other portions of the ORB have a chance to + // "settle" in their initialization since the streategies herein + // might need some of that information. + // = Server-side factory types. typedef ACE_Creation_Strategy<TAO_Server_Connection_Handler> CREATION_STRATEGY; |