summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-03-26 04:56:54 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-03-26 04:56:54 +0000
commit68d6953627f094ee50af23d85a45c79efb4bfe98 (patch)
treec6ada573f737d23a00e4ba3d0f65d4afd16b5470
parentf29c6c9857fc90ea8a7576d34d0152d65878bf79 (diff)
downloadATCD-68d6953627f094ee50af23d85a45c79efb4bfe98.tar.gz
ChangeLogTag:Wed Mar 25 22:55:02 1998 Carlos O'Ryan <coryan@Gcs.wustl.edu>
-rw-r--r--TAO/ChangeLog-98c8
-rw-r--r--TAO/tao/Object.cpp4
-rw-r--r--TAO/tao/Servant_Base.h1
3 files changed, 13 insertions, 0 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index 25d0c7a2aee..b478d34e111 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,3 +1,11 @@
+Wed Mar 25 22:55:02 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
+
+ * tao/Servant_Base.h:
+ * tao/Object.cpp:
+ Collocated objects (even if their dynamic type is simply
+ CORBA_Object) can use the servant to resolve the _is_a()
+ calls.
+
Wed Mar 25 22:06:19 1998 Sumedh Mungee <sumedh@macarena.cs.wustl.edu>
* tao/TAO.cpp: Added accessors for child/root poa.
diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp
index 1fe41e67f58..70bb726a71f 100644
--- a/TAO/tao/Object.cpp
+++ b/TAO/tao/Object.cpp
@@ -114,6 +114,10 @@ CORBA::Boolean
CORBA_Object::_is_a (const CORBA::Char *type_id,
CORBA::Environment &env)
{
+ // If the object is collocated then try locally....
+ if (this->is_collocated_ && this->servant_ != 0)
+ return this->servant_->_is_a (type_id, env);
+
// At this time, we only have a single generic way to check the type
// of an object.
STUB_Object *istub;
diff --git a/TAO/tao/Servant_Base.h b/TAO/tao/Servant_Base.h
index 43f5970d045..8ccb526b9cc 100644
--- a/TAO/tao/Servant_Base.h
+++ b/TAO/tao/Servant_Base.h
@@ -26,6 +26,7 @@ class TAO_Export TAO_ServantBase
// class.
{
friend class TAO_POA;
+ friend class CORBA_Object;
public:
virtual ~TAO_ServantBase (void);
// destructor