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

[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_Version& | version (void) const
| Return a pointer to this profile's version. This object maintains ownership.
TAO_ORB_Core* | orb_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_MProfile* | forward_to (void)
| MProfile accessor.
const TAO_Tagged_Components& | 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_Tagged_Components& | tagged_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_ObjectKey& | object_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_Endpoint* | endpoint (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::TaggedProfile& | create_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::PolicyList& | policies (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_Stub* | the_stub (void)
| Gets the TAO_MProfile that holds the TAO_Profile instance.
## Private Methods
TAO_MProfile* | forward_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:

- Profile.h
- Profile.cpp
- Profile.i