TAO  2.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
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
Collaboration diagram for TAO_Unknown_Profile:
Collaboration graph

Public Member Functions

 TAO_Unknown_Profile (CORBA::ULong tag, TAO_ORB_Core *orb_core)
 Create the profile. More...
virtual void parse_string (const char *string)
virtual char object_key_delimiter (void) const
 The object key delimiter. More...
virtual char * to_string (void) const
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)
virtual TAO::ObjectKey_key (void) const
virtual TAO_Endpointendpoint (void)
virtual CORBA::ULong endpoint_count (void) const
 Return how many endpoints this profile contains. More...
virtual CORBA::ULong hash (CORBA::ULong max)
 Return a hash value for this object. More...
virtual int decode_profile (TAO_InputCDR &cdr)
 Decode the protocol specific profile details. More...
virtual int decode_endpoints (void)
- Public Member Functions inherited from TAO_Profile
 TAO_Profile (CORBA::ULong tag, TAO_ORB_Core *orb_core, const TAO_GIOP_Message_Version &version)
 Constructor. More...
CORBA::ULong tag (void) const
 The tag, each concrete class will have a specific tag value. More...
const TAO_GIOP_Message_Versionversion (void) const
TAO_ORB_Coreorb_core (void) const
 Get a pointer to the TAO_ORB_Core. More...
unsigned long _incr_refcnt (void)
 Increase the reference count by one on this object. More...
unsigned long _decr_refcnt (void)
void forward_to (TAO_MProfile *mprofiles)
 Keep a pointer to the forwarded profile. More...
TAO_MProfileforward_to (void)
 MProfile accessor. More...
const TAO_Tagged_Componentstagged_components (void) const
TAO_Tagged_Componentstagged_components (void)
 The tag, each concrete class will have a specific tag value. More...
void add_tagged_component (const IOP::TaggedComponent &component)
 Add the given tagged component to the profile. More...
CORBA::Short addressing_mode (void) const
const TAO::ObjectKeyobject_key (void) const
TAO::ObjectKey_key (void) const
IOP::TaggedProfilecreate_tagged_profile (void)
virtual void policies (CORBA::PolicyList *policy_list)
virtual void get_policies (CORBA::PolicyList &policy_list)
 Accessor for the client exposed policies of this profile. More...
virtual int supports_multicast (void) const
 Returns true if this profile can specify multicast endpoints. More...
virtual bool supports_non_blocking_oneways (void) const
 Returns true if this profile supports non blocking oneways. More...
virtual void addressing_mode (CORBA::Short addr_mode)
virtual int encode_alternate_endpoints (void)
virtual TAO_Endpointbase_endpoint (void)
TAO_Endpointfirst_filtered_endpoint (void)
TAO_Endpointnext_filtered_endpoint (TAO_Endpoint *source)
virtual void remove_generic_endpoint (TAO_Endpoint *ep)
virtual void add_generic_endpoint (TAO_Endpoint *ep)
 Add a protocol-agnostic endpoint. More...
CORBA::Boolean is_equivalent (const TAO_Profile *other_profile)
 Verify profile equivalance. More...
CORBA::Boolean compare_key (const TAO_Profile *other) const

Protected Member Functions

virtual CORBA::Boolean do_is_equivalent (const TAO_Profile *other_profile)
 Profile equivalence template method invoked on subclasses. More...
is_equivalent_hook (const TAO_Profile *other_profile)
 Allow services to apply their own definition of "equivalence.". More...
- Protected Member Functions inherited from TAO_Profile
virtual ~TAO_Profile (void)
 If you have a virtual method you need a virtual dtor. More...
 TAO_Profile (CORBA::ULong tag, TAO_ORB_Core *orb_core, const TAO::ObjectKey &key, const TAO_GIOP_Message_Version &version)
 To be used by inherited classes. More...
void set_tagged_components (TAO_OutputCDR &cdr)
CORBA::ULong hash_service_i (CORBA::ULong m)

Private Member Functions

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

Private Attributes

TAO_opaque body_

Additional Inherited Members

- Protected Attributes inherited from TAO_Profile
TAO_GIOP_Message_Version version_
 IIOP version number. More...
TAO_Tagged_Components tagged_components_
 The tagged components. More...
CORBA::Boolean are_policies_parsed_
CORBA::Short addressing_mode_
 Our tagged profile. More...
 Object_key associated with this profile. More...

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
void TAO_Unknown_Profile::create_profile_body ( TAO_OutputCDR cdr) const

Creates an encapsulation of the ProfileBody struct in the cdr.

Implements TAO_Profile.

int TAO_Unknown_Profile::decode ( TAO_InputCDR cdr)

Initialize this object using the given CDR octet string.

Reimplemented from TAO_Profile.

int TAO_Unknown_Profile::decode_endpoints ( void  )

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)

Decode the protocol specific profile details.

Implements TAO_Profile.

CORBA::Boolean TAO_Unknown_Profile::do_is_equivalent ( const TAO_Profile other)

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

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

Reimplemented from TAO_Profile.

int TAO_Unknown_Profile::encode_endpoints ( void  )

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  )

Return a 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

Return how many endpoints this profile contains.

Implements TAO_Profile.

CORBA::ULong TAO_Unknown_Profile::hash ( CORBA::ULong  max)

Return a hash value for this object.

Implements TAO_Profile.

TAO_Service_Callbacks::Profile_Equivalence TAO_Unknown_Profile::is_equivalent_hook ( const TAO_Profile other)

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.

char TAO_Unknown_Profile::object_key_delimiter ( void  ) const

The object key delimiter.

Implements TAO_Profile.

void TAO_Unknown_Profile::parse_string ( const char *  string)

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

Reimplemented from TAO_Profile.

void TAO_Unknown_Profile::parse_string_i ( const char *  string)

Protocol specific implementation of parse_string ()

Implements TAO_Profile.

char * TAO_Unknown_Profile::to_string ( void  ) const

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_

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