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. More...

virtual void parse_string (const char *string ACE_ENV_ARG_DECL)
 Initialize this object using the given input string. Supports URL style of object references. More...

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

virtual char * to_string (ACE_ENV_SINGLE_ARG_DECL)
 Return a string representation for this profile. client must deallocate memory. More...

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

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

virtual int encode_endpoints (void)
 Encodes this profile's endpoints into a tagged component. More...

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! More...

virtual TAO_Endpointendpoint (void)
 Return pointer to this profile's endpoint. More...

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

virtual CORBA::Boolean is_equivalent (const TAO_Profile *other_profile)
 Return true if this profile is equivalent to other_profile. More...

virtual CORBA::ULong hash (CORBA::ULong max ACE_ENV_ARG_DECL)
 Return a hash value for this object. More...

virtual IOP::TaggedProfilecreate_tagged_profile (void)
 This method is used to get the IOP::TaggedProfile. More...


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    ACE_ENV_ARG_DECL_NOT_USED [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.

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.

char * TAO_Unknown_Profile::to_string ACE_ENV_SINGLE_ARG_DECL    [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 on Thu Oct 10 18:56:13 2002 for TAO by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001