diff options
author | gokhale <gokhale@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-12-02 22:42:14 +0000 |
---|---|---|
committer | gokhale <gokhale@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-12-02 22:42:14 +0000 |
commit | fff23f0b9a43a09234450298d82d9cb27fc6e68a (patch) | |
tree | 52da46fce18e16c40a8139f76708bec3273a0a9e /TAO/TAO_IDL/be/be_attribute.cpp | |
parent | ea1de3d614615bdbd6090fd6824bce960cccf4cb (diff) | |
download | ATCD-fff23f0b9a43a09234450298d82d9cb27fc6e68a.tar.gz |
code for inherited interfaces
CVS:
CVS:
CVS:
CVS:
Diffstat (limited to 'TAO/TAO_IDL/be/be_attribute.cpp')
-rw-r--r-- | TAO/TAO_IDL/be/be_attribute.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/TAO/TAO_IDL/be/be_attribute.cpp b/TAO/TAO_IDL/be/be_attribute.cpp index fa87112369b..f3f0e89ce48 100644 --- a/TAO/TAO_IDL/be/be_attribute.cpp +++ b/TAO/TAO_IDL/be/be_attribute.cpp @@ -417,8 +417,8 @@ be_attribute::gen_server_header (void) // generate the static method corresponding to the method *sh << "static void _get_" << this->local_name () << - "_skel (CORBA::ServerRequest &req, " << - "CORBA::Object_ptr obj, CORBA::Environment &env);\n\n"; + "_skel (CORBA::ServerRequest &req, void *obj, " << + "void *context, CORBA::Environment &env);\n\n"; // now the set method. However, this is not defined if we are readonly @@ -445,8 +445,8 @@ be_attribute::gen_server_header (void) // generate the static method corresponding to the method *sh << "static void _set_" << this->local_name () << - "_skel (CORBA::ServerRequest &req, " << - "CORBA::Object_ptr obj, CORBA::Environment &env);\n\n"; + "_skel (CORBA::ServerRequest &req, void *obj, " << + "void *context, CORBA::Environment &env);\n\n"; return 0; @@ -492,12 +492,13 @@ be_attribute::gen_server_skeletons (void) *ss << "void " << intf->full_skel_name () << "::_get_" << this->local_name () << "_skel (" << "CORBA::ServerRequest &_tao_server_request, " - << "CORBA::Object_ptr _tao_object_reference, " + << "void *_tao_object_reference, void */*context*/, " << "CORBA::Environment &_tao_environment)" << nl; *ss << "{\n"; ss->incr_indent (); // define a variable that will eventually point to our implementation object - *ss << intf->full_skel_name () << "_ptr \t impl;" << nl; + *ss << intf->full_skel_name () << "_ptr impl = (" << intf->full_skel_name () + << "_ptr) _tao_object_reference;" << nl; // store the result in this Any *ss << "CORBA::Any *result;" << nl; // emit the return type @@ -518,8 +519,6 @@ be_attribute::gen_server_skeletons (void) *ss << "// this method has no incoming parameters. Nothing to parse" << nl; // make the upcall - *ss << "impl = (" << intf->full_skel_name () << "_ptr) _tao_object_reference->get_subclass ();" - << nl; cg->push (TAO_CodeGen::TAO_ATTRIBUTE_RETVAL_ASSIGN_SS); s = cg->make_state (); // emit code to assign to retval @@ -558,14 +557,15 @@ be_attribute::gen_server_skeletons (void) *ss << "void " << intf->full_skel_name () << "::_set_" << this->local_name () << "_skel (" << "CORBA::ServerRequest &_tao_server_request, " - << "CORBA::Object_ptr _tao_object_reference, " + << "void *_tao_object_reference, void */*context*/, " << "CORBA::Environment &_tao_environment)" << nl; *ss << "{\n"; ss->incr_indent (); // define an NVList to hold the in argument *ss << "CORBA::NVList_ptr \t nvlist;" << nl; // define a variable that will eventually point to our implementation object - *ss << intf->full_skel_name () << "_ptr \t impl;" << nl; + *ss << intf->full_skel_name () << "_ptr \t impl = (" << intf->full_skel_name + () << "_ptr)_tao_object_reference;" << nl; // if we have any arguments, get each one of them and allocate an Any and // NamedValue for each. In addition, define a variable of that type @@ -607,9 +607,6 @@ be_attribute::gen_server_skeletons (void) cg->pop (); // make the upcall - *ss << "impl = (" << intf->full_skel_name () << "_ptr) _tao_object_reference->get_subclass ();" - << nl; - *ss << "impl->" << this->local_name () << "("; cg->push (TAO_CodeGen::TAO_ATTRIBUTE_UPCALL_SS); s = cg->make_state (); |