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

# TAO_Unknown_Profile Class Reference

A TAO_Profile class to handle foreign profiles. More...

`#include <Profile.h>`

Inheritance diagram for TAO_Unknown_Profile:

[legend]
Collaboration diagram for TAO_Unknown_Profile:

[legend]
List of all members.

## Public Methods

| TAO_Unknown_Profile (CORBA::ULong tag, TAO_ORB_Core *orb_core)
| Create the profile.
virtual void | parse_string (const char *string ACE_ENV_ARG_DECL)
virtual char | object_key_delimiter (void) const
| The object key delimiter.
virtual char * | to_string (ACE_ENV_SINGLE_ARG_DECL)
virtual int | decode (TAO_InputCDR &cdr)
| Initialize this object using the given CDR octet string.
virtual int | encode (TAO_OutputCDR &stream) const
| Encode this profile in a stream, i.e. marshal it.
virtual int | encode_endpoints (void)
virtual const TAO::ObjectKey & | object_key (void) const
| deprecated. return a reference to the Object Key.
virtual TAO::ObjectKey * | _key (void) const
virtual TAO_Endpoint * | endpoint (void)
virtual CORBA::ULong | endpoint_count (void) const
| Return how many endpoints this profile contains.
virtual CORBA::ULong | hash (CORBA::ULong max ACE_ENV_ARG_DECL)
| Return a hash value for this object.
virtual int | decode_profile (TAO_InputCDR &cdr)
| Decode the protocol specific profile details.
virtual int | decode_endpoints (void)

## Protected Methods

virtual CORBA::Boolean | do_is_equivalent (const TAO_Profile *other_profile)
| Profile equivalence template method invoked on subclasses.
virtual CORBA::Boolean | is_equivalent_hook (const TAO_Profile *other_profile)
| Allow services to apply their own definition of "equivalence.".

## Private Methods

virtual void | create_profile_body (TAO_OutputCDR &encap) const
| Creates an encapsulation of the ProfileBody struct in the <cdr>.
virtual void | parse_string_i (const char *string ACE_ENV_ARG_DECL)
| Protocol specific implementation of parse_string ().

## Private Attributes

TAO_opaque | body_

## Detailed Description

A TAO_Profile class to handle foreign profiles.

The CORBA spec implies that ORBs must be prepared to save and pass around profiles for protocols it does not recognize. It is not mandatory to *use* those profiles but they shouldn't be dropped. This class stores the information required to marshal and demarshal an unknown profile, but simply returns an error if any of the TAO internal methods are invoked.

## Constructor & Destructor Documentation

TAO_Unknown_Profile::TAO_Unknown_Profile | ( | CORBA::ULong | tag,
|  | TAO_ORB_Core * | orb_core
| ) |

| Create the profile.

## Member Function Documentation

TAO::ObjectKey * TAO_Unknown_Profile::_key | ( | void |  | ) | const`[virtual]`

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

void TAO_Unknown_Profile::create_profile_body | ( | TAO_OutputCDR & | encap | ) | const`[private, virtual]`

| Creates an encapsulation of the ProfileBody struct in the <cdr>. Implements TAO_Profile.

int TAO_Unknown_Profile::decode | ( | TAO_InputCDR & | cdr | ) | `[virtual]`

| Initialize this object using the given CDR octet string. Reimplemented from TAO_Profile.

int TAO_Unknown_Profile::decode_endpoints | ( | void |  | ) | `[virtual]`

| Helper for <decode>. Decodes endpoints from a tagged component. Decode only if RTCORBA is enabled. Furthermore, we may not find TAO_TAG_ENDPOINTS component, e.g., if we are talking to nonRT version of TAO or some other ORB. This is not an error, and we must proceed. Return 0 on success and -1 on failure. Implements TAO_Profile.

int TAO_Unknown_Profile::decode_profile | ( | TAO_InputCDR & | cdr | ) | `[virtual]`

| Decode the protocol specific profile details. Implements TAO_Profile.

CORBA::Boolean TAO_Unknown_Profile::do_is_equivalent | ( | const TAO_Profile * | other_profile | ) | `[protected, virtual]`

| Profile equivalence template method invoked on subclasses. TAO_Profile subclasses must implement this template method so that they can apply their own definition of profile equivalence. Implements TAO_Profile.

int TAO_Unknown_Profile::encode | ( | TAO_OutputCDR & | stream | ) | const`[virtual]`

| Encode this profile in a stream, i.e. marshal it. Reimplemented from TAO_Profile.

int TAO_Unknown_Profile::encode_endpoints | ( | void |  | ) | `[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. Implements TAO_Profile.

TAO_Endpoint * TAO_Unknown_Profile::endpoint | ( | void |  | ) | `[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. Implements TAO_Profile.

CORBA::ULong TAO_Unknown_Profile::endpoint_count | ( | void |  | ) | const`[virtual]`

| Return how many endpoints this profile contains. Implements TAO_Profile.

CORBA::ULong TAO_Unknown_Profile::hash | ( | CORBA::ULong max | ACE_ENV_ARG_DECL | ) | `[virtual]`

| Return a hash value for this object. Implements TAO_Profile.

CORBA::Boolean TAO_Unknown_Profile::is_equivalent_hook | ( | const TAO_Profile * | other_profile | ) | `[protected, virtual]`

| Allow services to apply their own definition of "equivalence.". This method differs from the `do_is_equivalent()` template method in that it has a default implementation that may or not be applicable to all TAO_Profile subclasses. Reimplemented from TAO_Profile.

const TAO::ObjectKey & TAO_Unknown_Profile::object_key | ( | void |  | ) | const`[virtual]`

| deprecated. return a reference to the Object Key. @ Reimplemented from TAO_Profile.

char TAO_Unknown_Profile::object_key_delimiter | ( | void |  | ) | const`[virtual]`

| The object key delimiter. Implements TAO_Profile.

virtual void TAO_Unknown_Profile::parse_string | ( | const char *string | ACE_ENV_ARG_DECL | ) | `[virtual]`

| Initialize this object using the given input string. Supports URL style of object references Reimplemented from TAO_Profile.

virtual void TAO_Unknown_Profile::parse_string_i | ( | const char *string | ACE_ENV_ARG_DECL | ) | `[private, virtual]`

| Protocol specific implementation of parse_string (). Implements TAO_Profile.

char * TAO_Unknown_Profile::to_string | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | `[virtual]`

| Return a string representation for this profile. Client must deallocate memory. Only one endpoint is included into the string. Implements TAO_Profile.

## Member Data Documentation

TAO_opaque TAO_Unknown_Profile::body_`[private]`

The documentation for this class was generated from the following files:

- Profile.h
- Profile.cpp