summaryrefslogtreecommitdiff
path: root/TAO/tao/Stub.h
diff options
context:
space:
mode:
authorbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-02-27 17:44:03 +0000
committerbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-02-27 17:44:03 +0000
commit6bfae336ac7b66ac7b1fab9318b6610a5cf0abe2 (patch)
tree9676d0fab0bf9ed0f2ed5a71ad5542bc97e07412 /TAO/tao/Stub.h
parent432f0c98238b924ae47ad17c18a0265e458ffc83 (diff)
downloadATCD-6bfae336ac7b66ac7b1fab9318b6610a5cf0abe2.tar.gz
ChangeLogTag: Tue Feb 27 11:34:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Stub.h')
-rw-r--r--TAO/tao/Stub.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/TAO/tao/Stub.h b/TAO/tao/Stub.h
index 6694cbe36a2..693ed5fb461 100644
--- a/TAO/tao/Stub.h
+++ b/TAO/tao/Stub.h
@@ -258,6 +258,9 @@ public:
/// Obtain a reference to the basic profile set.
TAO_MProfile& base_profiles (void);
+ /// Obtain a pointer to the forwarded profile set
+ const TAO_MProfile *forward_profiles (void) const;
+
// Manage forward and base profiles.
/**
* THREAD SAFE. If forward_profiles is null then this will
@@ -339,6 +342,15 @@ public:
/// preferences on selecting the right profiles.
CORBA::Boolean service_profile_selection (void);
+ /**
+ * Create the IOP::IOR info. We will create the info at most once.
+ * Get the index of the profile we are using to make the invocation.
+ */
+ int create_ior_info (IOP::IOR *ior_info,
+ CORBA::ULong &index,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
private:
/// Makes a copy of the profile and frees the existing profile_in_use.
/// NOT THREAD SAFE
@@ -362,6 +374,12 @@ private:
/// NON-THREAD-SAFE. utility method for next_profile.
TAO_Profile *next_forward_profile (void);
+ /// THREAD-SAFE Create the IOR info
+ int get_profile_ior_info (TAO_MProfile &profile,
+ IOP::IOR *&ior_info,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
#if (TAO_HAS_RT_CORBA == 1)
private:
@@ -438,6 +456,19 @@ private:
/// The addressing mode.
CORBA::Short addressing_mode_;
+ /**
+ * The ior info. This is needed for GIOP 1.2, as the clients could
+ * receive an exception from the server asking for this info. The
+ * exception that the client receives is LOC_NEEDS_ADDRESSING_MODE.
+ * The data is set up here to be passed on to Invocation classes
+ * when they receive an exception. This info is for the base
+ * profiles that this class stores
+ */
+ IOP::IOR *ior_info_;
+
+ /// Forwarded IOR info
+ IOP::IOR *forwarded_ior_info_;
+
// = Disallow copy constructor and assignment operator.
ACE_UNIMPLEMENTED_FUNC (TAO_Stub (const TAO_Stub &))
ACE_UNIMPLEMENTED_FUNC (TAO_Stub &operator = (const TAO_Stub &))