summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>1999-12-25 22:51:18 +0000
committerbala <balanatarajan@users.noreply.github.com>1999-12-25 22:51:18 +0000
commit315a5d5c743bd09210acaf33d1fea050962792d2 (patch)
tree4ad04e72aedeb0d1fcdf6e5886a83a4f2c73d840
parent1b51d4f958a85aa79ad9fc3a308b2ff7bd9e5d2f (diff)
downloadATCD-315a5d5c743bd09210acaf33d1fea050962792d2.tar.gz
*** empty log message ***
-rw-r--r--TAO/tao/GIOP_Accept_State.i3
-rw-r--r--TAO/tao/GIOP_Acceptors.i33
-rw-r--r--TAO/tao/GIOP_Assorted_Headers.cpp8
-rw-r--r--TAO/tao/GIOP_Assorted_Headers.h77
-rw-r--r--TAO/tao/GIOP_Assorted_Headers.i61
-rw-r--r--TAO/tao/IOP_Defns.h105
6 files changed, 287 insertions, 0 deletions
diff --git a/TAO/tao/GIOP_Accept_State.i b/TAO/tao/GIOP_Accept_State.i
new file mode 100644
index 00000000000..e2024633112
--- /dev/null
+++ b/TAO/tao/GIOP_Accept_State.i
@@ -0,0 +1,3 @@
+//$Id$
+
+
diff --git a/TAO/tao/GIOP_Acceptors.i b/TAO/tao/GIOP_Acceptors.i
new file mode 100644
index 00000000000..46733b6e452
--- /dev/null
+++ b/TAO/tao/GIOP_Acceptors.i
@@ -0,0 +1,33 @@
+//$Id$
+ACE_INLINE
+TAO_GIOP_Acceptor_1_1::TAO_GIOP_Acceptor_1_1 (void)
+ : our_major_version_ (1),
+ our_minor_version_ (1)
+{
+ // no-op
+}
+
+ACE_INLINE const CORBA::Octet&
+TAO_GIOP_Acceptor_1_1::major_version (void)
+{
+
+ return this->our_major_version_;
+}
+
+ACE_INLINE const CORBA::Octet&
+TAO_GIOP_Acceptor_1_1::minor_version (void)
+{
+ return this->our_minor_version_;
+}
+
+ACE_INLINE size_t
+TAO_GIOP_Acceptor_1_1::header_length (void)
+{
+ return TAO_GIOP_HEADER_LEN;
+}
+
+ACE_INLINE size_t
+TAO_GIOP_Acceptor_1_1::offset_length (void)
+{
+ return TAO_GIOP_MESSAGE_SIZE_OFFSET;
+}
diff --git a/TAO/tao/GIOP_Assorted_Headers.cpp b/TAO/tao/GIOP_Assorted_Headers.cpp
new file mode 100644
index 00000000000..eda2d48623f
--- /dev/null
+++ b/TAO/tao/GIOP_Assorted_Headers.cpp
@@ -0,0 +1,8 @@
+//$Id$
+#include "tao/GIOP_Assorted_Headers.h"
+
+#if !defined (__ACE_INLINE__)
+# include "tao/GIOP_Assorted_Headers.i"
+#endif /* __ACE_INLINE__ */
+
+
diff --git a/TAO/tao/GIOP_Assorted_Headers.h b/TAO/tao/GIOP_Assorted_Headers.h
new file mode 100644
index 00000000000..66b46969818
--- /dev/null
+++ b/TAO/tao/GIOP_Assorted_Headers.h
@@ -0,0 +1,77 @@
+// -*- C++ -*-
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// GIOP_Assorted_Header.h
+//
+// = DESCRIPTION
+// Some assorted GIOP structure mappings
+//
+// = AUTHOR
+// Balachandran Natarajan <bala@cs.wustl.edu>
+//
+// ============================================================================
+#ifndef _TAO_GIOP_ASSORTED_HEADERS_H_
+#define _TAO_GIOP_ASSORTED_HEADERS_H_
+#include "tao/GIOPC.h"
+
+
+class TAO_GIOP_Locate_Request_Header
+{
+ // = TITLE
+ // Location service support
+public:
+
+ TAO_GIOP_Locate_Request_Header (TAO_InputCDR &msg);
+ // Constructor
+
+ void request_id (CORBA::ULong id);
+ // Set the id
+
+ CORBA::ULong request_id (void);
+ // Get the request id
+
+ void addressing_disposition (CORBA::Short discriminant);
+ // Set the addressing the disposition
+
+ CORBA::Short addressing_disposition (void);
+ // Return the addressing disposition
+
+ const GIOP::TargetAddress &target_address (void) const;
+ // Get in read mode
+
+ GIOP::TargetAddress &target_address (void);
+ // Get in read/write mode
+
+ // TAO_ObjectKey &object_key_ref (void);
+ // Get the Object Key in read/write mode
+
+ TAO_InputCDR &incoming_stream (void);
+ // Get the CDR stream for read/write
+
+private:
+ CORBA::ULong request_id_;
+ // Request id
+
+ CORBA::Short addressing_disposition_;
+ // This is the discrminant type for the union encapsulated in
+ // TargetAddress.
+
+ GIOP::TargetAddress target_address_;
+ // Introduced by GIOP 1.2. Will not cause us any harm if it is there
+ // for other versions.
+
+ TAO_InputCDR *incoming_;
+ // Incoming CDR stream
+};
+
+#if defined (__ACE_INLINE__)
+# include "tao/GIOP_Assorted_Headers.i"
+#endif /* __ACE_INLINE__ */
+
+#endif /*_TAO_GIOP_ASSORTED_HEADERS_H_*/
diff --git a/TAO/tao/GIOP_Assorted_Headers.i b/TAO/tao/GIOP_Assorted_Headers.i
new file mode 100644
index 00000000000..5d804b5db57
--- /dev/null
+++ b/TAO/tao/GIOP_Assorted_Headers.i
@@ -0,0 +1,61 @@
+//$Id$
+
+ACE_INLINE
+TAO_GIOP_Locate_Request_Header::TAO_GIOP_Locate_Request_Header (TAO_InputCDR &msg)
+ : request_id_ (0),
+ addressing_disposition_ (0),
+ incoming_ (&msg)
+{
+}
+
+ACE_INLINE void
+TAO_GIOP_Locate_Request_Header::request_id (CORBA::ULong id)
+{
+ this->request_id_ = id;
+}
+
+ACE_INLINE CORBA::ULong
+TAO_GIOP_Locate_Request_Header::request_id (void)
+{
+ return this->request_id_;
+}
+
+ACE_INLINE void
+TAO_GIOP_Locate_Request_Header::addressing_disposition (CORBA::Short
+ add)
+{
+ this->addressing_disposition_ = add;
+}
+
+ACE_INLINE CORBA::Short
+TAO_GIOP_Locate_Request_Header::addressing_disposition (void)
+{
+ return this->addressing_disposition_;
+}
+
+ACE_INLINE const GIOP::TargetAddress &
+TAO_GIOP_Locate_Request_Header::target_address (void) const
+{
+ return this->target_address_;
+}
+
+ACE_INLINE GIOP::TargetAddress &
+TAO_GIOP_Locate_Request_Header::target_address (void)
+{
+ return this->target_address_;
+}
+
+ACE_INLINE TAO_InputCDR &
+TAO_GIOP_Locate_Request_Header::incoming_stream (void)
+{
+ return *this->incoming_;
+}
+
+/*TAO_ObjectKey &
+TAO_GIOP_Locate_Request_Header::object_key_ref (void)
+{
+ // Not a good idea, need to check here..
+ return this->target_address_.object_key ();
+ // For the rest do the checeks here
+}
+*/
diff --git a/TAO/tao/IOP_Defns.h b/TAO/tao/IOP_Defns.h
new file mode 100644
index 00000000000..da83220b9d5
--- /dev/null
+++ b/TAO/tao/IOP_Defns.h
@@ -0,0 +1,105 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// IOP_Defn.h
+//
+// = DESCRIPTION
+// Definitions for IOP related classes. IOP definitions are part of
+// the Interoperability model specified by the CORBA spec.
+//
+// = AUTHOR
+// Balachandran Natarajan <bala@cs.wustl.edu>
+// ============================================================================
+#ifndef _TAO_IOP_DEFN_H_
+#define _TAO_IOP_DEFN_H_
+
+// These were all in the GIOP.h file. They shouldn't be combined with
+// GIOP as they are not specific to GIOP. They are part of the CORBA
+// Interoperable reference model.
+
+// namespace TAO_IOP
+
+// Assigned Protocol/Profile tag values. ORB protcols may be uniquely
+// identified by tags such as these. This allows each ORB's own
+// objref profiles to be interchanged using IORs.
+//
+// Email to tag-request@omg.org to allocate tags.
+typedef CORBA::ULong TAO_IOP_Profile_ID;
+
+class TAO_IOP_Tagged_Profile
+{
+ // = TITLE
+ // One per protocol.
+public:
+ TAO_IOP_Profile_ID tag;
+ TAO_opaque profile_data;
+};
+
+typedef TAO_Unbounded_Sequence<TAO_IOP_Tagged_Profile>
+ TAO_IOP_Tagged_Profile_Sequence;
+
+class TAO_IOP_IOR
+{
+ // = TITLE
+ // InteroperableObjectReference
+ //
+ // = DESCRIPTION
+ // ... a set of protocol-specific protocol profiles, plus a type
+ // ID. Only one object is denoted by all of this information.
+ // It's OK to delete all profiles except the one for the single
+ // protocol actually being used.
+
+public:
+ char *type_id;
+ TAO_IOP_Tagged_Profile_Sequence profiles;
+};
+
+// Some protocols can be factored into a set of optional components.
+// Use of such components is defined by the protocol's specification.
+//
+// Email to tag-request@omg.org to allocate tags.
+
+typedef CORBA::ULong TAO_IOP_ComponentId;
+
+enum
+{
+ // = DESCRIPTION
+ // These are all defined by DCE-CIOP in OMG TC document 95-3-10.
+ // We don't use them in TAO, it is a left over from the SunSoft
+ // IIOP engine times!
+
+ TAO_IOP_TAG_DCE_STRING_BINDING = 100,// string binding handle
+ TAO_IOP_TAG_DCE_BINDING_NAME = 101, // CDS/GDS/... name
+ TAO_IOP_TAG_DCE_NO_PIPES = 102, // no component data
+ TAO_IOP_TAG_OBJECT_KEY = 10, // opaque
+ TAO_IOP_TAG_ENDPOINT_ID = 11, // uuid
+ TAO_IOP_TAG_LOCATION_POLICY = 12 // octet/enum
+};
+
+class TAO_IOP_TaggedComponent
+{
+ // = DESCRIPTION
+ // One way to represent multicomponent profiles, e.g. as done by
+ // the DCE-CIOP protocol. One of these gets encapsulated in
+ // Tagged_Profile::profile_data. TAG_MULTIPLE_COMPONENTS may be
+ // used to represent protocol profiles structured in that way, but
+ // protocol-specific tags facilitate simpler scanning of IORs
+ // since you can be assured that each profile only has data used
+ // within a single ORB protocol.
+public:
+
+ TAO_IOP_ComponentId tag;
+ TAO_opaque component_data;
+};
+
+// ****************************************************************
+
+typedef TAO_Unbounded_Sequence<TAO_IOP_TaggedComponent>
+ TAO_IOP_MultipleComponentProfile;
+
+#endif /*_TAO_IOP_DEFN_H_*/