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

Inheritance graph
[legend]
Collaboration diagram for TAO_Unknown_Profile:

Collaboration graph
[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, CORBA::Environment &ACE_TRY_ENV)
 Initialize this object using the given input string. Supports URL style of object references.

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

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

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_ObjectKeyobject_key (void) const
 deprecated. return a reference to the Object Key. More...

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

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

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

virtual IOP::TaggedProfilecreate_tagged_profile (void)

Private Attributes

TAO_opaque body_
IOP::TaggedProfile tagged_profile_

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.

IOP::TaggedProfile & TAO_Unknown_Profile::create_tagged_profile ( void ) [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 from 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::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.

Reimplemented from 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.

Reimplemented from TAO_Profile.

size_t TAO_Unknown_Profile::endpoint_count ( void ) [virtual]
 

Return how many endpoints this profile contains.

Reimplemented from TAO_Profile.

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

Return a hash value for this object.

Reimplemented from TAO_Profile.

CORBA::Boolean TAO_Unknown_Profile::is_equivalent ( const TAO_Profile * other_profile ) [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 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.

Reimplemented from TAO_Profile.

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

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

Reimplemented from TAO_Profile.

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

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

Reimplemented from TAO_Profile.


Member Data Documentation

TAO_opaque TAO_Unknown_Profile::body_ [private]
 

IOP::TaggedProfile TAO_Unknown_Profile::tagged_profile_ [private]
 


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