summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-11 21:47:35 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-11 21:47:35 +0000
commit20a512fccd8d8d91d16d73258349f761ca2d81c6 (patch)
tree7ffa400e7223e5f69f3d61cdaa339ec54fd7ee88
parent983727294a537b25326bafacae5a082b89da4356 (diff)
downloadATCD-20a512fccd8d8d91d16d73258349f761ca2d81c6.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog-99c7
-rw-r--r--TAO/tao/Object.cpp27
-rw-r--r--TAO/tao/Object.h60
3 files changed, 75 insertions, 19 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c
index 596d1c41c5c..e5412854e9d 100644
--- a/TAO/ChangeLog-99c
+++ b/TAO/ChangeLog-99c
@@ -1,3 +1,10 @@
+Tue May 11 16:46:20 1999 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * tao/Object.{h,cpp}:
+ Added the second form of create_request(). It has two
+ additional args - an exception list and a context list,
+ which are both unused in this implementation.
+
Tue May 11 16:03:01 1999 Jeff Parsons <parsons@cs.wustl.edu>
* tao/corbafwd.h:
diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp
index e7e1d9c3c14..11e310b36ab 100644
--- a/TAO/tao/Object.cpp
+++ b/TAO/tao/Object.cpp
@@ -268,7 +268,32 @@ CORBA_Object::_create_request (CORBA::Context_ptr ctx,
// is a no-no.
if (ctx)
{
- TAO_THROW(CORBA::NO_IMPLEMENT ());
+ TAO_THROW (CORBA::NO_IMPLEMENT ());
+ }
+ request = new CORBA::Request (this,
+ operation,
+ arg_list,
+ result,
+ req_flags,
+ TAO_IN_ENV);
+}
+
+void
+CORBA_Object::_create_request2 (CORBA::Context_ptr ctx,
+ const CORBA::Char *operation,
+ CORBA::NVList_ptr arg_list,
+ CORBA::NamedValue_ptr result,
+ CORBA::ExceptionList_ptr,
+ CORBA::ContextList_ptr,
+ CORBA::Request_ptr &request,
+ CORBA::Flags req_flags,
+ CORBA::Environment &TAO_IN_ENV)
+{
+ // Since we don't really support Context, anything but a null pointer
+ // is a no-no.
+ if (ctx)
+ {
+ TAO_THROW (CORBA::NO_IMPLEMENT ());
}
request = new CORBA::Request (this,
operation,
diff --git a/TAO/tao/Object.h b/TAO/tao/Object.h
index 977838fd88b..7faea06e9cb 100644
--- a/TAO/tao/Object.h
+++ b/TAO/tao/Object.h
@@ -43,7 +43,8 @@ public:
// return a NUL object
static CORBA_Object_ptr _narrow (CORBA_Object_ptr obj,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
+ CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
// no-op it is just here to simplify some templates.
// These calls correspond to over-the-wire operations, or at least
@@ -53,7 +54,8 @@ public:
// appropriate.
virtual CORBA::Boolean _is_a (const CORBA::Char *logical_type_id,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
+ CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
// determine if we are of the type specified by the "logical_type_id"
virtual const char* _interface_repository_id (void) const;
@@ -66,17 +68,27 @@ public:
virtual CORBA::Boolean _is_collocated (void) const;
// are we collocated with the servant?
- virtual CORBA::Boolean _non_existent (CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
+ virtual CORBA::Boolean _non_existent (CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
#if !defined (TAO_HAS_MINIMUM_CORBA)
virtual CORBA::ImplementationDef_ptr
- _get_implementation (CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
+ _get_implementation (CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
// This method is deprecated in the CORBA 2.2 spec, we just return 0
// every time.
- virtual CORBA::InterfaceDef_ptr _get_interface (CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
- // Interface repository related operation
+ virtual CORBA::InterfaceDef_ptr _get_interface (CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
+
+ // Interface repository related operations.
+
+ // DII operations to create a request.
+ //
+ // The mapping for create_request is split into two forms,
+ // corresponding to the two usage styles described in CORBA section
+ // 6.2.1.
virtual void _create_request (CORBA::Context_ptr ctx,
const CORBA::Char *operation,
@@ -84,19 +96,27 @@ public:
CORBA::NamedValue_ptr result,
CORBA::Request_ptr &request,
CORBA::Flags req_flags,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
- // DII operation to create a request.
- //
- // The mapping for create_request is split into two forms,
- // corresponding to the two usage styles described in CORBA section
- // 6.2.1.
- //
+ CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
+
+ virtual void _create_request2 (CORBA::Context_ptr ctx,
+ const CORBA::Char *operation,
+ CORBA::NVList_ptr arg_list,
+ CORBA::NamedValue_ptr result,
+ CORBA::ExceptionList_ptr exclist,
+ CORBA::ContextList_ptr ctxtlist,
+ CORBA::Request_ptr &request,
+ CORBA::Flags req_flags,
+ CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
+
// The default implementation of this method uses the same simple,
// multi-protocol remote invocation interface as is assumed by the
// calls above ... that's how it can have a default implementation.
virtual CORBA::Request_ptr _request (const CORBA::Char *operation,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
+ CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
// DII operation to create a request.
#endif /* TAO_HAS_MINIMUM_CORBA */
@@ -131,7 +151,8 @@ public:
#endif /* TAO_HAS_CORBA_MESSAGING */
virtual CORBA::ULong _hash (CORBA::ULong maximum,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
+ CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
// Return a (potentially non-unique) hash value for this object.
// This method relies on the representation of the object
// reference's private state. Since that changes easily (when
@@ -139,13 +160,15 @@ public:
// implementation.
virtual CORBA::Boolean _is_equivalent (CORBA::Object_ptr other_obj,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
+ CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
// Try to determine if this object is the same as <other_obj>. This
// method relies on the representation of the object reference's
// private state. Since that changes easily (when different ORB
// protocols are in use) there is no default implementation.
- virtual TAO_ObjectKey *_key (CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ());
+ virtual TAO_ObjectKey *_key (CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ());
// Return the object key as an out parameter. Caller should release
// return value when finished with it.
@@ -269,7 +292,8 @@ public:
// destructor
virtual void _downcast (CORBA_Object* base_ptr,
- CORBA_Environment &TAO_IN_ENV = CORBA::default_environment ()) = 0;
+ CORBA_Environment &TAO_IN_ENV =
+ CORBA::default_environment ()) = 0;
virtual CORBA_Object* _upcast (void) = 0;
virtual void _release (void) = 0;
};