diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-01-19 20:00:54 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-01-19 20:00:54 +0000 |
commit | f7d89481d724a5c579d24b6909152139c8bea6c3 (patch) | |
tree | 7dc3fc12d314367c743162b91aac341f81b09941 | |
parent | 97f43db9e3dacb366038f91d79fdbfdaa20ee22f (diff) | |
download | ATCD-f7d89481d724a5c579d24b6909152139c8bea6c3.tar.gz |
ChangeLogTag:Mon Jan 19 13:58:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
-rw-r--r-- | TAO/ChangeLog-98c | 13 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_interface.cpp | 6 | ||||
-rw-r--r-- | TAO/TAO_IDL/be/be_visitor_interface.cpp | 11 | ||||
-rw-r--r-- | TAO/tao/corba.h | 3 | ||||
-rw-r--r-- | TAO/tao/servant_base.h | 3 |
5 files changed, 30 insertions, 6 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c index 9400d1c1c05..2e2081f052f 100644 --- a/TAO/ChangeLog-98c +++ b/TAO/ChangeLog-98c @@ -1,3 +1,16 @@ +Mon Jan 19 13:58:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu> + + * TAO_IDL/be/be_visitor_interface.cpp: + * TAO_IDL/be/be_interface.cpp: + Fixed operation table initialization, also called proper + constructor for CORBA::Object in collocated classes. + + * tao/corba.h: + More include reordering. + + * tao/servant_base.h: + The operation table was not properly initialized. + Mon Jan 19 11:28:47 1998 Carlos O'Ryan <coryan@cs.wustl.edu> * Merged changes from main_to_poa_merge_9 up to diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp index 20bdc2c7a76..1d899875f31 100644 --- a/TAO/TAO_IDL/be/be_interface.cpp +++ b/TAO/TAO_IDL/be/be_interface.cpp @@ -822,8 +822,10 @@ int be_interface::gen_server_skeletons (void) " (void)" << nl; } - *ss << "{\n"; - *ss << "}\n\n"; + *ss << "{" << be_idt_nl + << "this->optable_ = &tao_" << this->flatname () + << "_optable;" << be_uidt_nl + << "}\n\n"; // generate code for elements in the scope (e.g., operations) if (be_scope::gen_server_skeletons () == -1) diff --git a/TAO/TAO_IDL/be/be_visitor_interface.cpp b/TAO/TAO_IDL/be/be_visitor_interface.cpp index 54c58267468..48df6887f26 100644 --- a/TAO/TAO_IDL/be/be_visitor_interface.cpp +++ b/TAO/TAO_IDL/be/be_visitor_interface.cpp @@ -240,11 +240,15 @@ int be_visitor_collocated_ss::visit_interface (be_interface *node) // the base class! // I wish I never have to know why the symbol table for // MSVC++ can get so confused ;-) (coryan) - *ss << ": " << node->local_name () << " (stub)," << be_nl; + *ss << ": " << node->local_name () + << " (stub, servant, CORBA::B_TRUE)," << be_nl; #else - *ss << ": " << node->name () << " (stub)," << be_nl; + *ss << ": " << node->name () + << " (stub, servant, CORBA::B_TRUE)," << be_nl; #endif /* ACE_WIN32 */ + // @@ We should call the constructor for all base classes, since we + // are using multiple inheritance. if (this->current_interface_->n_inherits () > 0) { for (int i = 0; i < node->n_inherits (); ++i) @@ -268,7 +272,8 @@ int be_visitor_collocated_ss::visit_interface (be_interface *node) } } - *ss << " servant_ (servant)"; + *ss << " CORBA::Object (stub, servant, CORBA::B_TRUE)," << be_nl + << " servant_ (servant)"; *ss << "\n"; ss->decr_indent (); diff --git a/TAO/tao/corba.h b/TAO/tao/corba.h index 0ec14b0a3cf..b76d2ee11d8 100644 --- a/TAO/tao/corba.h +++ b/TAO/tao/corba.h @@ -86,12 +86,13 @@ // Defines CORBA namespace #include "tao/corbacom.h" -#include "tao/objkeyC.h" // individual CORBA classes #include "tao/sequence.h" #include "tao/sequence_T.h" +#include "tao/objkeyC.h" + typedef TAO_Unbounded_Sequence<CORBA::Octet> TAO_opaque; extern CORBA::TypeCode TC_opaque; diff --git a/TAO/tao/servant_base.h b/TAO/tao/servant_base.h index 7e9f05d1e88..2e415c34526 100644 --- a/TAO/tao/servant_base.h +++ b/TAO/tao/servant_base.h @@ -1,3 +1,6 @@ +// +// $Id$ +// #if !defined (SERVANT_BASE_H) #define SERVANT_BASE_H |