Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Profile Class Reference

Defines the Profile interface. More...

#include <Profile.h>

Inheritance diagram for TAO_Profile

Inheritance graph
[legend]
List of all members.

Public Methods

 TAO_Profile (CORBA::ULong tag, TAO_ORB_Core *orb_core, const TAO_GIOP_Message_Version &version)
 Constructor.

virtual ~TAO_Profile (void)
 If you have a virtual method you need a virtual dtor.

CORBA::ULong tag (void) const
 The tag, each concrete class will have a specific tag value.

const TAO_GIOP_Message_Versionversion (void) const
 Return a pointer to this profile's version. This object maintains ownership.

TAO_ORB_Coreorb_core (void) const
 Get a pointer to the <TAO_ORB_Core>.

CORBA::ULong _incr_refcnt (void)
 Increase the reference count by one on this object.

CORBA::ULong _decr_refcnt (void)
 Decrement the object's reference count. When this count goes to 0 this object will be deleted.

void forward_to (TAO_MProfile *mprofiles)
 Keep a pointer to the forwarded profile.

TAO_MProfileforward_to (void)
 MProfile accessor.

const TAO_Tagged_Componentstagged_components (void) const
 Access the tagged components, notice that they they could be empty (or ignored) for non-GIOP protocols (and even for GIOP-1.0).

TAO_Tagged_Componentstagged_components (void)
void add_tagged_component (const IOP::TaggedComponent &component, CORBA::Environment &ACE_TRY_ENV)
 Add the given tagged component to the profile.

virtual char object_key_delimiter (void) const = 0
 The object key delimiter.

virtual void parse_string (const char *string, CORBA::Environment &ACE_TRY_ENV) = 0
 Initialize this object using the given input string. Supports URL style of object references.

virtual char* to_string (CORBA::Environment &ACE_TRY_ENV) = 0
 Return a string representation for this profile. client must deallocate memory.

virtual int decode (TAO_InputCDR& cdr) = 0
 Initialize this object using the given CDR octet string.

virtual int encode (TAO_OutputCDR &stream) const = 0
 Encode this profile in a stream, i.e. marshal it.

virtual int encode_endpoints (void) = 0
virtual const TAO_ObjectKeyobject_key (void) const = 0
 deprecated. return a reference to the Object Key. More...

virtual TAO_ObjectKey_key (void) const = 0
 Obtain the object key, return 0 if the profile cannot be parsed. The memory is owned by the caller!

virtual TAO_Endpointendpoint (void) = 0
virtual size_t endpoint_count (void) = 0
 Return how many endpoints this profile contains.

virtual CORBA::Boolean is_equivalent (const TAO_Profile* other_profile) = 0
virtual CORBA::ULong hash (CORBA::ULong max, CORBA::Environment &ACE_TRY_ENV) = 0
 Return a hash value for this object.

virtual IOP::TaggedProfilecreate_tagged_profile (void) = 0
virtual void policies (CORBA::PolicyList *policy_list, CORBA::Environment &ACE_TRY_ENV)
 This method sets the client exposed policies, i.e., the ones propagated in the IOR, for this profile.

virtual CORBA::PolicyListpolicies (CORBA::Environment &ACE_TRY_ENV)
 Accessor for the client exposed policies of this profile.

virtual void the_stub (TAO_Stub *stub)
 Sets the TAO_Stub to which this profile is associated.

virtual TAO_Stubthe_stub (void)
 Gets the TAO_MProfile that holds the TAO_Profile instance.


Private Methods

TAO_MProfileforward_to_i (void)
 this object keeps ownership of this object.

void verify_orb_configuration (CORBA::Environment &ACE_TRY_ENV)
 Verify that the current ORB's configuration supports tagged components in IORs.

void verify_profile_version (CORBA::Environment &ACE_TRY_ENV)
 Verify that the given profile supports tagged components, i.e. is not a GIOP 1.0 profile.


Detailed Description

Defines the Profile interface.

An abstract base class for representing object location information. This is based on the CORBA IOR definitions.


Constructor & Destructor Documentation

ACE_INLINE TAO_Profile::TAO_Profile ( CORBA::ULong tag,
TAO_ORB_Core * orb_core,
const TAO_GIOP_Message_Version & version )
 

Constructor.

TAO_Profile::~TAO_Profile ( void ) [virtual]
 

If you have a virtual method you need a virtual dtor.


Member Function Documentation

ACE_INLINE CORBA::ULong TAO_Profile::_decr_refcnt ( void )
 

Decrement the object's reference count. When this count goes to 0 this object will be deleted.

ACE_INLINE CORBA::ULong TAO_Profile::_incr_refcnt ( void )
 

Increase the reference count by one on this object.

TAO_ObjectKey * TAO_Profile::_key ( void ) const [pure virtual]
 

Obtain the object key, return 0 if the profile cannot be parsed. The memory is owned by the caller!

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

void TAO_Profile::add_tagged_component ( const IOP::TaggedComponent & component,
CORBA::Environment & ACE_TRY_ENV )
 

Add the given tagged component to the profile.

IOP::TaggedProfile & TAO_Profile::create_tagged_profile ( void ) [pure virtual]
 

This method is used to get the IOP::TaggedProfile. The profile information that is received from the server side would have already been decoded. So this method will just make a IOP::TaggedProfile struct from the existing information and return the reference to that. This method is necessary for GIOP 1.2.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

int TAO_Profile::decode ( TAO_InputCDR & cdr ) [pure virtual]
 

Initialize this object using the given CDR octet string.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

int TAO_Profile::encode ( TAO_OutputCDR & stream ) const [pure virtual]
 

Encode this profile in a stream, i.e. marshal it.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

int TAO_Profile::encode_endpoints ( void ) [pure virtual]
 

Encodes this profile's endpoints into a tagged component. This is done only if RTCORBA is enabled, since currently this is the only case when we have more than one endpoint per profile.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

TAO_Endpoint * TAO_Profile::endpoint ( void ) [pure virtual]
 

Return pointer to this profile's endpoint. If the profile contains more than one endpoint, i.e., a list, the method returns the head of the list.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

size_t TAO_Profile::endpoint_count ( void ) [pure virtual]
 

Return how many endpoints this profile contains.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

ACE_INLINE TAO_MProfile * TAO_Profile::forward_to ( void )
 

MProfile accessor.

ACE_INLINE void TAO_Profile::forward_to ( TAO_MProfile * mprofiles )
 

Keep a pointer to the forwarded profile.

ACE_INLINE TAO_MProfile * TAO_Profile::forward_to_i ( void ) [private]
 

this object keeps ownership of this object.

CORBA::ULong TAO_Profile::hash ( CORBA::ULong max,
CORBA::Environment & ACE_TRY_ENV ) [pure virtual]
 

Return a hash value for this object.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

CORBA::Boolean TAO_Profile::is_equivalent ( const TAO_Profile * other_profile ) [pure virtual]
 

Return true if this profile is equivalent to other_profile. Two profiles are equivalent iff their tag, object_key, version and all endpoints are the same.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

const TAO_ObjectKey & TAO_Profile::object_key ( void ) const [pure virtual]
 

deprecated. return a reference to the Object Key.

@

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

char TAO_Profile::object_key_delimiter ( void ) const [pure virtual]
 

The object key delimiter.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

ACE_INLINE TAO_ORB_Core * TAO_Profile::orb_core ( void ) const
 

Get a pointer to the <TAO_ORB_Core>.

void TAO_Profile::parse_string ( const char * string,
CORBA::Environment & ACE_TRY_ENV ) [pure virtual]
 

Initialize this object using the given input string. Supports URL style of object references.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

CORBA::PolicyList & TAO_Profile::policies ( CORBA::Environment & ACE_TRY_ENV ) [virtual]
 

Accessor for the client exposed policies of this profile.

void TAO_Profile::policies ( CORBA::PolicyList * policy_list,
CORBA::Environment & ACE_TRY_ENV ) [virtual]
 

This method sets the client exposed policies, i.e., the ones propagated in the IOR, for this profile.

ACE_INLINE CORBA::ULong TAO_Profile::tag ( void ) const
 

The tag, each concrete class will have a specific tag value.

ACE_INLINE TAO_Tagged_Components & TAO_Profile::tagged_components ( void )
 

ACE_INLINE const TAO_Tagged_Components & TAO_Profile::tagged_components ( void ) const
 

Access the tagged components, notice that they they could be empty (or ignored) for non-GIOP protocols (and even for GIOP-1.0).

TAO_Stub * TAO_Profile::the_stub ( void ) [virtual]
 

Gets the TAO_MProfile that holds the TAO_Profile instance.

void TAO_Profile::the_stub ( TAO_Stub * stub ) [virtual]
 

Sets the TAO_Stub to which this profile is associated.

char * TAO_Profile::to_string ( CORBA::Environment & ACE_TRY_ENV ) [pure virtual]
 

Return a string representation for this profile. client must deallocate memory.

Reimplemented in TAO_IIOP_Profile, and TAO_Unknown_Profile.

void TAO_Profile::verify_orb_configuration ( CORBA::Environment & ACE_TRY_ENV ) [private]
 

Verify that the current ORB's configuration supports tagged components in IORs.

void TAO_Profile::verify_profile_version ( CORBA::Environment & ACE_TRY_ENV ) [private]
 

Verify that the given profile supports tagged components, i.e. is not a GIOP 1.0 profile.

ACE_INLINE const TAO_GIOP_Message_Version & TAO_Profile::version ( void ) const
 

Return a pointer to this profile's version. This object maintains ownership.


The documentation for this class was generated from the following files:
Generated at Fri Oct 5 08:03:20 2001 for TAO by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000