summaryrefslogtreecommitdiff
path: root/TAO/tao/LocalObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/LocalObject.h')
-rw-r--r--TAO/tao/LocalObject.h126
1 files changed, 52 insertions, 74 deletions
diff --git a/TAO/tao/LocalObject.h b/TAO/tao/LocalObject.h
index b22b71d60e0..d8478839361 100644
--- a/TAO/tao/LocalObject.h
+++ b/TAO/tao/LocalObject.h
@@ -53,16 +53,6 @@ public:
TAO_default_environment ());
// no-op it is just here to simplify some templates.
- static void _tao_any_destructor (void*);
- // @@ Does this stuff make sense at all in LocalObject?
- // Used in the implementation of CORBA::Any
-
- // These calls correspond to over-the-wire operations, or at least
- // do so in many common cases. The normal implementation assumes a
- // particular simple, efficient, protocol-neutral interface for
- // making such calls, but may be overridden when it appears
- // appropriate.
-
virtual CORBA::Boolean _is_a (const CORBA::Char *logical_type_id,
CORBA_Environment &ACE_TRY_ENV =
TAO_default_environment ());
@@ -72,14 +62,6 @@ public:
// The repository ID for the most derived class, this is an
// implementation method and does no remote invocations!
- virtual TAO_ServantBase *_servant (void) const;
- // return 0.
-
- virtual CORBA::Boolean _is_collocated (void) const;
- // return 0 (even if local object is always collocated, there's no
- // servant associate with the object (the object itself implement
- // all operations.
-
#if (TAO_HAS_MINIMUM_CORBA == 0)
virtual CORBA::Boolean _non_existent (CORBA_Environment &ACE_TRY_ENV =
@@ -96,6 +78,34 @@ public:
TAO_default_environment ());
// throws NO_IMPLEMENT.
+ virtual void _create_request (CORBA::Context_ptr ctx,
+ const CORBA::Char *operation,
+ CORBA::NVList_ptr arg_list,
+ CORBA::NamedValue_ptr result,
+ CORBA::Request_ptr &request,
+ CORBA::Flags req_flags,
+ CORBA_Environment &ACE_TRY_ENV =
+ TAO_default_environment ());
+ // throws NO_IMPLEMENT.
+
+ virtual void _create_request (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 &ACE_TRY_ENV =
+ TAO_default_environment ());
+
+ // throws NO_IMPLEMENT.
+
+ virtual CORBA::Request_ptr _request (const CORBA::Char *operation,
+ CORBA_Environment &ACE_TRY_ENV =
+ TAO_default_environment ());
+ // throws NO_IMPLEMENT.
+
#endif /* TAO_HAS_MINIMUM_CORBA */
#if (TAO_HAS_CORBA_MESSAGING == 1)
@@ -156,75 +166,43 @@ public:
// private state. Since that changes easily (when different ORB
// protocols are in use) there is no default implementation.
+ virtual TAO_ObjectKey *_key (CORBA_Environment &ACE_TRY_ENV =
+ TAO_default_environment ());
+ // throws NO_IMPLEMENT.
+
+#if 0
+ virtual const TAO_ObjectKey &_object_key (void);
+ // Return a reference to the object key of profile in-use.
+ // If there's no in-use profile, then the program will
+ // probably crash. This method does not create a new copy.
+#endif /* 0 */
+
#if !defined(__GNUC__) || __GNUC__ > 2 || __GNUC_MINOR__ >= 8
- typedef CORBA_Object_ptr _ptr_type;
- typedef CORBA_Object_var _var_type;
+ typedef CORBA::LocalObject_ptr _ptr_type;
+ typedef CORBA::LocalObject_var _var_type;
#endif /* __GNUC__ */
// Useful for template programming.
- // = TAO extensions
-
// = Reference count managment.
- CORBA::ULong _incr_refcnt (void);
+ virtual void _add_ref (void);
// Increment the reference count.
- CORBA::ULong _decr_refcnt (void);
+ virtual void _remove_ref (void);
// Decrement the reference count.
+ // = TAO extensions
+
protected:
private:
-#if (TAO_HAS_MINIMUM_CORBA==0)
- virtual void _create_request (CORBA::Context_ptr ctx,
- const CORBA::Char *operation,
- CORBA::NVList_ptr arg_list,
- CORBA::NamedValue_ptr result,
- CORBA::Request_ptr &request,
- CORBA::Flags req_flags,
- CORBA_Environment &ACE_TRY_ENV =
- TAO_default_environment ());
-
- virtual void _create_request (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 &ACE_TRY_ENV =
- TAO_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 &ACE_TRY_ENV =
- TAO_default_environment ());
- // DII operation to create a request.
-
-#endif /* TAO_HAS_MINIMUM_CORBA == 0 */
-
- virtual TAO_ObjectKey *_key (CORBA_Environment &ACE_TRY_ENV =
- TAO_default_environment ());
- // Return the object key as an out parameter. Caller should release
- // return value when finished with it.
-
- virtual const TAO_ObjectKey &_object_key (void);
- // Return a reference to the object key of profile in-use.
- // If there's no in-use profile, then the program will
- // probably crash. This method does not create a new copy.
-
- virtual TAO_Stub *_stubobj (void) const;
- // get the underlying stub object
-
- virtual void _use_locate_requests (CORBA::Boolean use_it);
- // the the object to use a locate request for the first call to
- // the object
// = Unimplemented methods
- CORBA_Object (const CORBA_Object &);
- CORBA_Object &operator = (const CORBA_Object &);
+ LocalObject (TAO_Stub *p = 0,
+ TAO_ServantBase *servant = 0,
+ CORBA::Boolean collocated = 0);
+ // constructor
+
+ LocalObject (const CORBA_Object &);
+ LocalObject &operator = (const CORBA_Object &);
};
class TAO_Export CORBA::LocalObject_var