TAO
2.1.6
|
A TAO_Profile class to handle foreign profiles. More...
#include <Profile.h>
Public Member Functions | |
TAO_Unknown_Profile (CORBA::ULong tag, TAO_ORB_Core *orb_core) | |
Create the profile. | |
virtual void | parse_string (const char *string) |
virtual char | object_key_delimiter (void) const |
The object key delimiter. | |
virtual char * | to_string (void) |
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 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) |
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) |
![]() | |
TAO_Profile (CORBA::ULong tag, TAO_ORB_Core *orb_core, const TAO_GIOP_Message_Version &version) | |
Constructor. | |
CORBA::ULong | tag (void) const |
The tag, each concrete class will have a specific tag value. | |
const TAO_GIOP_Message_Version & | version (void) const |
TAO_ORB_Core * | orb_core (void) const |
Get a pointer to the TAO_ORB_Core. | |
unsigned long | _incr_refcnt (void) |
Increase the reference count by one on this object. | |
unsigned long | _decr_refcnt (void) |
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 |
TAO_Tagged_Components & | tagged_components (void) |
The tag, each concrete class will have a specific tag value. | |
void | add_tagged_component (const IOP::TaggedComponent &component) |
Add the given tagged component to the profile. | |
CORBA::Short | addressing_mode (void) const |
const TAO::ObjectKey & | object_key (void) const |
IOP::TaggedProfile * | create_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. | |
virtual int | supports_multicast (void) const |
Returns true if this profile can specify multicast endpoints. | |
virtual bool | supports_non_blocking_oneways (void) const |
Returns true if this profile supports non blocking oneways. | |
virtual void | addressing_mode (CORBA::Short addr_mode) |
virtual int | encode_alternate_endpoints (void) |
virtual TAO_Endpoint * | base_endpoint (void) |
TAO_Endpoint * | first_filtered_endpoint (void) |
TAO_Endpoint * | next_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. | |
CORBA::Boolean | is_equivalent (const TAO_Profile *other_profile) |
Verify profile equivalance. | |
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. | |
virtual TAO_Service_Callbacks::Profile_Equivalence | is_equivalent_hook (const TAO_Profile *other_profile) |
Allow services to apply their own definition of "equivalence.". | |
![]() | |
virtual | ~TAO_Profile (void) |
If you have a virtual method you need a virtual dtor. | |
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. | |
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. | |
virtual void | parse_string_i (const char *string) |
Protocol specific implementation of parse_string () |
Private Attributes | |
TAO_opaque | body_ |
Additional Inherited Members | |
![]() | |
TAO_GIOP_Message_Version | version_ |
IIOP version number. | |
TAO_Tagged_Components | tagged_components_ |
The tagged components. | |
CORBA::Boolean | are_policies_parsed_ |
CORBA::Short | addressing_mode_ |
IOP::TaggedProfile * | tagged_profile_ |
Our tagged profile. | |
TAO::Refcounted_ObjectKey * | ref_object_key_ |
Object_key associated with this profile. |
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.
TAO_Unknown_Profile::TAO_Unknown_Profile | ( | CORBA::ULong | tag, |
TAO_ORB_Core * | orb_core | ||
) |
Create the profile.
|
virtual |
Obtain the object key, return 0 if the profile cannot be parsed. The memory is owned by the caller!
Reimplemented from TAO_Profile.
|
privatevirtual |
Creates an encapsulation of the ProfileBody struct in the cdr.
Implements TAO_Profile.
|
virtual |
Initialize this object using the given CDR octet string.
Reimplemented from TAO_Profile.
|
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.
|
virtual |
Decode the protocol specific profile details.
Implements TAO_Profile.
|
protectedvirtual |
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.
|
virtual |
Encode this profile in a stream, i.e. marshal it.
Reimplemented from TAO_Profile.
|
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.
|
virtual |
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.
|
virtual |
Return how many endpoints this profile contains.
Implements TAO_Profile.
|
virtual |
Return a hash value for this object.
Implements TAO_Profile.
|
protectedvirtual |
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.
|
virtual |
The object key delimiter.
Implements TAO_Profile.
|
virtual |
Initialize this object using the given input string. Supports URL style of object references
Reimplemented from TAO_Profile.
|
privatevirtual |
Protocol specific implementation of parse_string ()
Implements TAO_Profile.
|
virtual |
Return a string representation for this profile. Client must deallocate memory. Only one endpoint is included into the string.
Implements TAO_Profile.
|
private |