summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1997-08-13 03:57:57 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1997-08-13 03:57:57 +0000
commit3f3b45d1681253a576aae34789a1cf15beb4ddcf (patch)
tree272023dbc70cedd1db42fc27ed3a1bb18a1abe6d /TAO
parent1d1f463e0f8ca982112576ceb4d81718c98c6b6f (diff)
downloadATCD-3f3b45d1681253a576aae34789a1cf15beb4ddcf.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog-98c17
-rw-r--r--TAO/tao/any.cpp4
-rw-r--r--TAO/tao/any.h3
-rw-r--r--TAO/tao/any.i27
-rw-r--r--TAO/tao/corba.h17
-rw-r--r--TAO/tao/default_client.cpp2
-rw-r--r--TAO/tao/default_server.cpp2
-rw-r--r--TAO/tao/giop.cpp6
-rw-r--r--TAO/tao/giop.h13
-rw-r--r--TAO/tao/giop.i17
-rw-r--r--TAO/tao/typecode.h10
-rw-r--r--TAO/tao/typecode.i26
12 files changed, 79 insertions, 65 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index db136abd641..d8d8b8fc309 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,3 +1,20 @@
+Tue Aug 12 22:37:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
+
+ * tao/{any,typecode,cdr}.h: Finished appeasing the compiler gods
+ so that we can remove the ACE_INLINE hack. Things now seem to be
+ in order.
+
+ * tao/corba.h: Got all the frigging header *.i files #included in
+ the right order so that the GCC compiler stops complaining.
+
+ * tao/giop.cpp: We had method definitions that were defined inline
+ within the giop.h file. This was causing problems for GCC, which
+ kept warning that methods in the cdi.i file were being used before
+ being inlined. I've fixed this by creating a giop.i file.
+
+ * tao/corba.h: Add #include files should be prefixed by "tao/".
+ I've fixed this in the release.
+
Tue Aug 12 16:23:17 1997 Chris Cleeland <cleeland@cs.wustl.edu>
* tao/any.i: Added a missing replace() method used by overloaded
diff --git a/TAO/tao/any.cpp b/TAO/tao/any.cpp
index b33c111c318..aca0f02fc2f 100644
--- a/TAO/tao/any.cpp
+++ b/TAO/tao/any.cpp
@@ -78,7 +78,7 @@ CORBA_Any::CORBA_Any (CORBA::TypeCode_ptr tc,
void *value,
CORBA::Boolean orb_owns_data)
- : value_ (value) ,
+ : value_ (value),
orb_owns_data_ (orb_owns_data)
{
type_ = tc;
@@ -186,6 +186,7 @@ deep_copy (CORBA::TypeCode_ptr tc,
CORBA::Principal_ptr src, dst;
src = *(CORBA::Principal_ptr *) source;
+ // @@ Andy, please make sure to check for memory failure.
dst = *(CORBA::Principal_ptr *) dest = new CORBA::Principal;
// Principals are just opaque IDs ... copy them
@@ -195,6 +196,7 @@ deep_copy (CORBA::TypeCode_ptr tc,
if (dst->id.length > 0)
{
+ // @@ Andy, please make sure to check for memory failure.
dst->id.buffer = new CORBA::Octet [(unsigned) dst->id.length];
ACE_OS::memcpy (dst->id.buffer, src->id.buffer,
(size_t) dst->id.length);
diff --git a/TAO/tao/any.h b/TAO/tao/any.h
index 817ebb6c761..e987f25cd5e 100644
--- a/TAO/tao/any.h
+++ b/TAO/tao/any.h
@@ -246,9 +246,6 @@ private:
ACE_SYNCH_MUTEX lock_;
// Serialize access to the reference count.
-#if defined(__ACE_INLINE__)
- ACE_INLINE
-#endif /* __ACE_INLINE__ */
void replace (CORBA::TypeCode_ptr type,
const void *value,
CORBA::Boolean orb_owns_data);
diff --git a/TAO/tao/any.i b/TAO/tao/any.i
index e2232bf0fc4..4dcc5b08cd8 100644
--- a/TAO/tao/any.i
+++ b/TAO/tao/any.i
@@ -16,6 +16,19 @@ CORBA_Any::operator delete (void *p)
::operator delete (p);
}
+// insertion from special types
+
+// @@ Andy, please take a look at this method and make sure it's what
+// you intended. I couldn't find it defined anywhere. --cjc
+ACE_INLINE void
+CORBA_Any::replace (CORBA::TypeCode_ptr type,
+ const void *value,
+ CORBA::Boolean orb_owns_data)
+{
+ CORBA_Environment e;
+ this->replace (type, value, orb_owns_data, e);
+}
+
// insertion operators
ACE_INLINE void
@@ -118,20 +131,6 @@ CORBA_Any::to_string::to_string (char *&s, CORBA::ULong b)
{
}
-// insertion from special types
-
-// @@ Andy, please take a look at this method and make sure it's what
-// you intended. I couldn't find it defined anywhere. --cjc
-ACE_INLINE void
-CORBA_Any::replace (CORBA::TypeCode_ptr type,
- const void *value,
- CORBA::Boolean orb_owns_data)
-{
- CORBA_Environment e;
- this->replace(type, value, orb_owns_data, e);
-}
-
-
ACE_INLINE void
CORBA_Any::operator<<= (from_boolean b)
{
diff --git a/TAO/tao/corba.h b/TAO/tao/corba.h
index 34ef4671eac..21fefc9c756 100644
--- a/TAO/tao/corba.h
+++ b/TAO/tao/corba.h
@@ -106,12 +106,13 @@
//#include "tao/xdr.h"
// include all the *.i file here
-# if defined (__ACE_INLINE__)
+#if defined (__ACE_INLINE__)
+#include "tao/cdr.i" //always
+#include "tao/typecode.i"
#include "tao/any.i"
#include "tao/boa.i"
#include "tao/object.i" // should always be
#include "tao/orbobj.i"
-#include "tao/typecode.i"
#include "tao/svrrqst.i"
//#include "tao/factories.i"
#include "tao/params.i"
@@ -119,13 +120,11 @@
#include "tao/server_factory.i"
#include "tao/default_client.i"
#include "tao/default_server.i"
-#include "cdr.i" //always
-#include "marshal.i" // always
-#include "iiopobj.i"
-#include "iioporb.i"
-#include "connect.i"
-#include "roa.i"
+#include "tao/marshal.i" // always
+#include "tao/iiopobj.i"
+#include "tao/iioporb.i"
+#include "tao/connect.i"
+#include "tao/roa.i"
#endif /* __ACE_INLINE__ */
-
#endif /* TAO_CORBA_H */
diff --git a/TAO/tao/default_client.cpp b/TAO/tao/default_client.cpp
index 2c00846508b..d8115a08664 100644
--- a/TAO/tao/default_client.cpp
+++ b/TAO/tao/default_client.cpp
@@ -15,7 +15,7 @@
#define ACE_BUILD_SVC_DLL
#if 0
-#include "default_client.h"
+#include "tao/default_client.h"
#endif /* 0 */
#include "tao/corba.h"
diff --git a/TAO/tao/default_server.cpp b/TAO/tao/default_server.cpp
index 4417194d26a..ec0432cccdc 100644
--- a/TAO/tao/default_server.cpp
+++ b/TAO/tao/default_server.cpp
@@ -13,7 +13,7 @@
#if 0 // XXXASG - commenting out temporarily as it doesn't compile
#define ACE_BUILD_SVC_DLL
#if 0
-#include "default_server.h"
+#include "tao/default_server.h"
#endif /* 0 */
#include "tao/corba.h"
diff --git a/TAO/tao/giop.cpp b/TAO/tao/giop.cpp
index 76d7c08cfab..61d73bd6562 100644
--- a/TAO/tao/giop.cpp
+++ b/TAO/tao/giop.cpp
@@ -40,7 +40,11 @@
// error is detected when marshaling or unmarshaling, it should be
// reported.
-#include "corba.h"
+#include "tao/corba.h"
+
+#if !defined (__ACE_INLINE__)
+#include "tao/giop.i"
+#endif /* __ACE_INLINE__ */
#if 0
#include "ace/Log_Msg.h"
diff --git a/TAO/tao/giop.h b/TAO/tao/giop.h
index c05075cb44b..639cd7258d6 100644
--- a/TAO/tao/giop.h
+++ b/TAO/tao/giop.h
@@ -244,22 +244,15 @@ public:
// calls that may fail -- and thus throw exceptions.
void put_param (CORBA::TypeCode_ptr tc,
- void *value,
- CORBA::Environment &env)
- {
- (void) stream.encode(tc, value, 0, env);
- }
+ void *value,
+ CORBA::Environment &env);
ReplyStatusType invoke (CORBA::ExceptionList &exceptions,
CORBA::Environment &env);
void get_value (CORBA::TypeCode_ptr tc,
void *value,
- CORBA::Environment &env)
- {
- (void) stream.decode (tc, value, 0, env);
- }
-
+ CORBA::Environment &env);
// No CORBA::Context support (deprecated).
private:
diff --git a/TAO/tao/giop.i b/TAO/tao/giop.i
new file mode 100644
index 00000000000..8ea55a2d0bf
--- /dev/null
+++ b/TAO/tao/giop.i
@@ -0,0 +1,17 @@
+// This may look like C, but it's really -*- C++ -*-
+
+ACE_INLINE void
+GIOP::Invocation::get_value (CORBA::TypeCode_ptr tc,
+ void *value,
+ CORBA::Environment &env)
+{
+ (void) stream.decode (tc, value, 0, env);
+}
+
+void
+GIOP::Invocation::put_param (CORBA::TypeCode_ptr tc,
+ void *value,
+ CORBA::Environment &env)
+{
+ (void) stream.encode (tc, value, 0, env);
+}
diff --git a/TAO/tao/typecode.h b/TAO/tao/typecode.h
index c65adab5c94..ea4396b218b 100644
--- a/TAO/tao/typecode.h
+++ b/TAO/tao/typecode.h
@@ -81,9 +81,6 @@ public:
static CORBA::TypeCode_ptr _nil (void);
// returns a NULL typecode
-#if defined(__ACE_INLINE__)
- ACE_INLINE
-#endif
CORBA::Boolean equal (const CORBA::TypeCode_ptr, CORBA::Environment &env) const;
// compares two typecodes
@@ -425,7 +422,7 @@ extern ACE_Svc_Export CORBA::TypeCode_ptr _tc_CORBA_TypeCode;
extern ACE_Svc_Export CORBA::TypeCode_ptr _tc_CORBA_Principal;
extern ACE_Svc_Export CORBA::TypeCode_ptr _tc_CORBA_Object;
-#endif
+#endif /* 0 */
// In this case, we make a substantial exception to how inline
// files are included. Normally, we would conditionally include the
@@ -440,12 +437,13 @@ extern ACE_Svc_Export CORBA::TypeCode_ptr _tc_CORBA_Object;
# undef ACE_INLINE
# define ACE_INLINE inline
# define do_undef_on_ACE_INLINE
-# endif
+# endif /* __ACE_INLINE__ */
+
//# include "typecode.i"
# if defined (do_undef_on_ACE_INLINE)
# undef do_undef_on_ACE_INLINE
# undef ACE_INLINE
# define ACE_INLINE
-# endif
+# endif /* __ACE_INLINE__ */
#endif /* TAO_TYPECODE_H */
diff --git a/TAO/tao/typecode.i b/TAO/tao/typecode.i
index b5208bc830f..713ec5b3a26 100644
--- a/TAO/tao/typecode.i
+++ b/TAO/tao/typecode.i
@@ -1,10 +1,3 @@
-// just fetch the 'kind' field out of the typecode
-ACE_INLINE void *
-CORBA_TypeCode::operator new (size_t s)
-{
- return ::operator new (s);
-}
-
ACE_INLINE CORBA::TCKind
CORBA_TypeCode::kind (CORBA::Environment &env) const
{
@@ -12,6 +5,13 @@ CORBA_TypeCode::kind (CORBA::Environment &env) const
return _kind;
}
+// just fetch the 'kind' field out of the typecode
+ACE_INLINE void *
+CORBA_TypeCode::operator new (size_t s)
+{
+ return ::operator new (s);
+}
+
ACE_INLINE CORBA::TypeCode_ptr
CORBA_TypeCode::_duplicate (CORBA::TypeCode_ptr tc)
{
@@ -37,18 +37,6 @@ CORBA_TypeCode::CORBA_TypeCode (CORBA::TCKind kind)
{
}
-// Returns true if the two typecodes are identical
-ACE_INLINE CORBA::Boolean
-CORBA_TypeCode::equal (const CORBA::TypeCode_ptr tc,
- CORBA::Environment &env) const
-{
- if (this->_kind != tc->kind (env))
- // simple case
- return CORBA::B_FALSE;
- else
- return this->private_equal (tc, env);
-}
-
// returns the Repository ID
ACE_INLINE TAO_CONST CORBA::String
CORBA_TypeCode::id (CORBA::Environment &env) const