diff options
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/tao/Any.cpp | 4 | ||||
-rw-r--r-- | TAO/tao/Any.h | 21 | ||||
-rw-r--r-- | TAO/tao/Makefile | 1 | ||||
-rw-r--r-- | TAO/tao/NVList.cpp | 22 | ||||
-rw-r--r-- | TAO/tao/NVList.h | 4 | ||||
-rw-r--r-- | TAO/tao/NVList.i | 13 | ||||
-rw-r--r-- | TAO/tao/ORB.h | 16 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.cpp | 4 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.h | 21 | ||||
-rw-r--r-- | TAO/tao/Stub.cpp | 7 | ||||
-rw-r--r-- | TAO/tao/Stub.h | 4 | ||||
-rw-r--r-- | TAO/tao/Stub.i | 2 | ||||
-rw-r--r-- | TAO/tao/Typecode.cpp | 8 | ||||
-rw-r--r-- | TAO/tao/Typecode.h | 6 | ||||
-rw-r--r-- | TAO/tao/corba.h | 26 |
15 files changed, 106 insertions, 53 deletions
diff --git a/TAO/tao/Any.cpp b/TAO/tao/Any.cpp index c47debb254d..215a18e486b 100644 --- a/TAO/tao/Any.cpp +++ b/TAO/tao/Any.cpp @@ -34,6 +34,10 @@ #include "tao/corba.h" +#if !defined (__ACE_INLINE__) +# include "tao/Any.i" +#endif /* ! __ACE_INLINE__ */ + CORBA::TypeCode_ptr CORBA_Any::type (void) const { diff --git a/TAO/tao/Any.h b/TAO/tao/Any.h index 4b5d7979c59..85601218be0 100644 --- a/TAO/tao/Any.h +++ b/TAO/tao/Any.h @@ -1,4 +1,5 @@ // This may look like C, but it's really -*- C++ -*- +// $Id$ // ============================================================================ // @@ -64,8 +65,8 @@ public: // Default constructor. CORBA_Any (CORBA::TypeCode_ptr type, - void *value = 0, - CORBA::Boolean any_owns_data = CORBA::B_FALSE); + void *value = 0, + CORBA::Boolean any_owns_data = CORBA::B_FALSE); // Constructor. The any_owns_data flag determines if the Any owns the value CORBA_Any (const CORBA_Any &a); @@ -159,7 +160,7 @@ public: { from_string (char* s, CORBA::ULong b, - CORBA::Boolean nocopy = CORBA::B_FALSE); + CORBA::Boolean nocopy = CORBA::B_FALSE); char *val_; CORBA::ULong bound_; CORBA::Boolean nocopy_; @@ -246,15 +247,15 @@ public: // parameter, two forms of the replace method are provided. void replace (CORBA::TypeCode_ptr type, - const void *value, - CORBA::Boolean any_owns_data, - CORBA::Environment &env); + const void *value, + CORBA::Boolean any_owns_data, + CORBA::Environment &env); // Replace the current typecode and data with the specified one - // unsafe. void replace (CORBA::TypeCode_ptr type, - const void *value, - CORBA::Environment &env); + const void *value, + CORBA::Environment &env); // Replace the current typecode and data with the specified one - // unsafe. This uses a default value for the "any_owns_data" parameter @@ -382,4 +383,8 @@ private: // assignment from _var disallowed }; +#if defined (__ACE_INLINE__) +# include "tao/Any.i" +#endif /* __ACE_INLINE__ */ + #endif /* TAO_ANY_H */ diff --git a/TAO/tao/Makefile b/TAO/tao/Makefile index 0e3ae3c441c..d855d63ab58 100644 --- a/TAO/tao/Makefile +++ b/TAO/tao/Makefile @@ -29,6 +29,7 @@ ORBCORE_SRCS = \ Request \ Sequence \ Server_Request \ + Stub \ Typecode \ Arg_Shifter \ CDR \ diff --git a/TAO/tao/NVList.cpp b/TAO/tao/NVList.cpp index 580d828cce5..a6808686f8a 100644 --- a/TAO/tao/NVList.cpp +++ b/TAO/tao/NVList.cpp @@ -1,9 +1,13 @@ -// This may look like C, but it's really -*- C++ -*- +// $Id$ // Implementation of Named Value List and NamedValue classes #include "tao/corba.h" +#if !defined (__ACE_INLINE__) +# include "tao/NVList.i" +#endif /* ! __ACE_INLINE__ */ + CORBA::ULong CORBA_NamedValue::AddRef (void) { @@ -273,3 +277,19 @@ CORBA_NVList::add_element (CORBA::Flags flags, CORBA::Environment &env) return 1; // success } + +// This was inline, but didn't survive the removal of .i #includes +// from corba.h. env.exception wasn't known. Maybe the circular +// #includes between corba.h and ORB.h need to be removed. +CORBA::NamedValue_ptr +CORBA_NVList::item (CORBA::ULong n, CORBA::Environment &env) +{ + env.clear (); + if (n >= this->max_) // 0 based indexing + { + env.exception (new CORBA::TypeCode::Bounds ()); + return 0; + } + else + return &this->values_ [n]; +} diff --git a/TAO/tao/NVList.h b/TAO/tao/NVList.h index 5dff27b1220..36ab8139896 100644 --- a/TAO/tao/NVList.h +++ b/TAO/tao/NVList.h @@ -157,4 +157,8 @@ private: friend class CORBA_Request; }; +#if defined (__ACE_INLINE__) +# include "tao/NVList.i" +#endif /* __ACE_INLINE__ */ + #endif /* TAO_NVLIST_H */ diff --git a/TAO/tao/NVList.i b/TAO/tao/NVList.i index 9cf97b1efcb..ae46118499b 100644 --- a/TAO/tao/NVList.i +++ b/TAO/tao/NVList.i @@ -48,16 +48,3 @@ CORBA_NVList::count (void) const { return this->max_; } - -ACE_INLINE CORBA::NamedValue_ptr -CORBA_NVList::item (CORBA::ULong n, CORBA::Environment &env) -{ - env.clear (); - if (n >= this->max_) // 0 based indexing - { - env.exception (new CORBA::TypeCode::Bounds ()); - return 0; - } - else - return &this->values_ [n]; -} diff --git a/TAO/tao/ORB.h b/TAO/tao/ORB.h index 2fdf69ef4cb..21492794f42 100644 --- a/TAO/tao/ORB.h +++ b/TAO/tao/ORB.h @@ -35,7 +35,7 @@ typedef enum { TAO_SERVICEID_NAMESERVICE, TAO_SERVICEID_TRADINGSERVICE -} TAO_Service_ID; +} TAO_Service_ID; // For some reason, PC compilers don't implement "natural" alignment, // but only use fixed alignment policies. The following #pragmas @@ -747,12 +747,12 @@ public: // can be used for initialization or in comparisons. virtual CORBA::Object_ptr string_to_object (CORBA::String str, - CORBA::Environment &env) = 0; + CORBA::Environment &env) = 0; // Turn a string-ified object reference back into an object pointer. // Each type of ORB, e.g. an IIOP ORB, must implement this. // Typically these strings are created using <object_to_string()>. virtual CORBA::String object_to_string (CORBA::Object_ptr obj, - CORBA::Environment &env) = 0; + CORBA::Environment &env) = 0; // Turn an object reference into a string. Each type of ORB, // e.g. an IIOP ORB, must implement this. This can be used by // servers to publish their whereabouts to clients. The output of @@ -873,15 +873,15 @@ private: // Resolve the trading object reference. CORBA_Object_ptr multicast_to_service (TAO_Service_ID service_id, - u_short port); + u_short port); // Resolve the refernce of a service of type <name>. - + CORBA_Object_ptr resolve_poa (void); // Resolve the POA. - + CORBA_Object_ptr resolve_poa_current (void); // Resolve the POA current. - + ACE_SYNCH_MUTEX lock_; u_int refcount_; ACE_Atomic_Op<ACE_SYNCH_MUTEX, CORBA::Boolean> open_called_; @@ -906,7 +906,7 @@ private: CORBA_Object_ptr trading_service_; // If this is non-_nil(), then this is the object reference to our // configured Trading. - + // = NON-PROVIDED METHODS CORBA_ORB (const CORBA_ORB &); CORBA_ORB &operator= (const CORBA_ORB &); diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index f6e9a6d5eaf..bffe54d92af 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -8,6 +8,10 @@ #include "tao/TAO_Internal.h" #include "tao/Arg_Shifter.h" +#if !defined (__ACE_INLINE__) +# include "tao/ORB_Core.i" +#endif /* ! __ACE_INLINE__ */ + typedef ACE_TSS_Singleton<TAO_ORB_Core, ACE_SYNCH_MUTEX> TAO_ORB_CORE; diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h index 363e93df621..b86f4b74685 100644 --- a/TAO/tao/ORB_Core.h +++ b/TAO/tao/ORB_Core.h @@ -1,4 +1,5 @@ // This may look like C, but it's really -*- C++ -*- +// $Id$ // ============================================================================ // @@ -11,8 +12,6 @@ // = AUTHOR // Chris Cleeland // -// = VERSION -// $Id$ // ============================================================================ #if !defined (TAO_ORB_CORE_H) @@ -21,15 +20,15 @@ # include "tao/corba.h" typedef ACE_Strategy_Connector<TAO_Client_Connection_Handler, ACE_SOCK_CONNECTOR> - TAO_CONNECTOR; + TAO_CONNECTOR; typedef ACE_Cached_Connect_Strategy<TAO_Client_Connection_Handler, - ACE_SOCK_CONNECTOR, - ACE_SYNCH_RW_MUTEX> + ACE_SOCK_CONNECTOR, + ACE_SYNCH_RW_MUTEX> TAO_CACHED_CONNECT_STRATEGY; typedef ACE_NOOP_Creation_Strategy<TAO_Client_Connection_Handler> - TAO_NULL_CREATION_STRATEGY; + TAO_NULL_CREATION_STRATEGY; typedef ACE_NOOP_Concurrency_Strategy<TAO_Client_Connection_Handler> TAO_NULL_ACTIVATION_STRATEGY; @@ -52,9 +51,9 @@ class TAO_Export TAO_ORB_Core // model). friend class CORBA_ORB; friend CORBA::ORB_ptr CORBA::ORB_init (int &, - char * const*, - const char *, - CORBA::Environment &); + char * const*, + const char *, + CORBA::Environment &); public: // = Initialization and termination methods. TAO_ORB_Core (void); @@ -411,6 +410,10 @@ private: TSS_APP_ALLOCATED; }; +#if defined (__ACE_INLINE__) +# include "tao/ORB_Core.i" +#endif /* __ACE_INLINE__ */ + ACE_FACTORY_DECLARE (TAO, TAO_Resource_Factory) extern TAO_Export TAO_ORB_Core *TAO_ORB_Core_instance (void); diff --git a/TAO/tao/Stub.cpp b/TAO/tao/Stub.cpp new file mode 100644 index 00000000000..80f4731f02f --- /dev/null +++ b/TAO/tao/Stub.cpp @@ -0,0 +1,7 @@ +// $Id$ + +#include "tao/corba.h" + +#if !defined (__ACE_INLINE__) +# include "tao/Stub.i" +#endif /* ! __ACE_INLINE__ */ diff --git a/TAO/tao/Stub.h b/TAO/tao/Stub.h index 73553e2b4d6..916082a8c78 100644 --- a/TAO/tao/Stub.h +++ b/TAO/tao/Stub.h @@ -260,4 +260,8 @@ private: ACE_UNIMPLEMENTED_FUNC (STUB_Object &operator = (const STUB_Object &)) }; +#if defined (__ACE_INLINE__) +# include "tao/Stub.i" +#endif /* __ACE_INLINE__ */ + #endif /* TAO_STUB_H */ diff --git a/TAO/tao/Stub.i b/TAO/tao/Stub.i index bbe545413af..94264e0a703 100644 --- a/TAO/tao/Stub.i +++ b/TAO/tao/Stub.i @@ -1,3 +1,5 @@ +// $Id$ + ACE_INLINE STUB_Object::STUB_Object (char *p) : type_id (p) diff --git a/TAO/tao/Typecode.cpp b/TAO/tao/Typecode.cpp index 8f1138b853a..7c12a38ecfd 100644 --- a/TAO/tao/Typecode.cpp +++ b/TAO/tao/Typecode.cpp @@ -14,6 +14,10 @@ #include "tao/corba.h" +#if !defined (__ACE_INLINE__) +# include "tao/Typecode.i" +#endif /* ! __ACE_INLINE__ */ + // Just fetch the 'kind' field out of the typecode. void * CORBA_TypeCode::operator new (size_t s) @@ -30,12 +34,12 @@ CORBA_TypeCode::_duplicate (CORBA::TypeCode_ptr tc) } CORBA_Bounds::CORBA_Bounds (void) - : CORBA_UserException (CORBA::_tc_Bounds) + : CORBA_UserException (CORBA::_tc_Bounds) { } CORBA_BadKind::CORBA_BadKind (void) - : CORBA_UserException (CORBA::_tc_BadKind) + : CORBA_UserException (CORBA::_tc_BadKind) { } diff --git a/TAO/tao/Typecode.h b/TAO/tao/Typecode.h index 3299338a53d..8959c516ee6 100644 --- a/TAO/tao/Typecode.h +++ b/TAO/tao/Typecode.h @@ -149,7 +149,7 @@ public: size_t length, char *buffer, CORBA::Boolean orb_owns_tc, - CORBA::TypeCode_ptr parent = 0); + CORBA::TypeCode_ptr parent = 0); // This constructor is used both for typecode constants and for // heap-allocated TypeCodes. The two are distinguished by the // orb_owns_tc flag passed in by the creator. @@ -508,4 +508,8 @@ private: CORBA_TypeCode_ptr &ptr_; }; +#if defined (__ACE_INLINE__) +# include "tao/Typecode.i" +#endif /* __ACE_INLINE__ */ + #endif /* TAO_TYPECODE_H */ diff --git a/TAO/tao/corba.h b/TAO/tao/corba.h index 2d0795b1e0e..64ccc6c29ce 100644 --- a/TAO/tao/corba.h +++ b/TAO/tao/corba.h @@ -81,15 +81,15 @@ // configure fixed one-byte alignment policy, since some fixed policy // needs to apply throughout an ORB. -#if defined (_MSC_VER) -# pragma pack (push, 1) // VC++, stack 1-byte alignment policy +#if defined (_MSC_VER) +# pragma pack (push, 1) // VC++, stack 1-byte alignment policy -# ifdef _DEBUG // convert from VC++ convention ... -# define DEBUG // ... to normal convention -# endif +# ifdef _DEBUG // convert from VC++ convention ... +# define DEBUG // ... to normal convention +# endif -#elif defined (__BORLANDC__) -# pragma option -a // BC++, use 1 byte alignment +#elif defined (__BORLANDC__) +# pragma option -a // BC++, use 1 byte alignment #endif /* _MSC_VER */ @@ -141,7 +141,7 @@ class CORBA_String_var; typedef u_int CORBA_Flags; typedef void (*TAO_Skeleton)(CORBA_ServerRequest &, - // CORBA_Object_ptr, + // CORBA_Object_ptr, void *, void *, CORBA_Environment &); @@ -149,8 +149,8 @@ typedef void (*TAO_Skeleton)(CORBA_ServerRequest &, // NOTE: stub APIs are nonportable, and must be explicitly #included // by code emitted from an IDL compiler. -#if defined (_MSC_VER) -# pragma pack (pop) // VC++, goes back to other padding rules +#if defined (_MSC_VER) +# pragma pack (pop) // VC++, goes back to other padding rules #endif /* _MSC_VER */ // Alignment macros @@ -162,6 +162,7 @@ typedef void (*TAO_Skeleton)(CORBA_ServerRequest &, typedef TAO_Unbounded_Sequence<CORBA::Octet> TAO_opaque; extern CORBA::TypeCode TC_opaque; +#include "tao/Exception.h" #include "tao/Any.h" #include "tao/params.h" @@ -170,7 +171,6 @@ extern CORBA::TypeCode TC_opaque; #include "tao/default_client.h" #include "tao/default_server.h" -#include "tao/Exception.h" #include "tao/NVList.h" #include "tao/Object.h" #include "tao/Principal.h" @@ -211,16 +211,20 @@ extern TAO_Export int operator== (const TAO_ObjectKey &l, # define do_undef_on_ACE_INLINE # endif +#if 0 /* These are now #included by their .h/.cpp files. */ #include "tao/ORB_Core.i" #include "tao/Typecode.i" #include "tao/NVList.i" #include "tao/Any.i" #include "tao/Stub.i" +#endif /* 0 */ + #include "tao/Object.i" #include "tao/ORB.i" #include "tao/Marshal.i" #include "tao/CDR.i" #include "tao/GIOP.i" + #include "tao/IIOP_ORB.i" #include "tao/IIOP_Object.i" #include "tao/Server_Request.i" |