diff options
Diffstat (limited to 'TAO/tao/Profile.h')
-rw-r--r-- | TAO/tao/Profile.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/TAO/tao/Profile.h b/TAO/tao/Profile.h index d31e55b6257..700b257c6ec 100644 --- a/TAO/tao/Profile.h +++ b/TAO/tao/Profile.h @@ -206,7 +206,7 @@ public: virtual int encode_alternate_endpoints (void); /** - * Return pointer to this profile's endpoint. If the profile + * 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. */ @@ -215,6 +215,33 @@ public: /// Return how many endpoints this profile contains. virtual CORBA::ULong endpoint_count (void) const = 0; + /** + * Return the first endpoint in the list that matches some filtering + * constraint, such as IPv6 compatibility for IIOP endpoints. This + * method is implemented in terms of TAO_Endpoint;:next_filtered(). + */ + TAO_Endpoint *first_filtered_endpoint (void); + + /// Return the next filtered endpoint in the list after the one + /// passed in. This method is implemented in terms of + /// TAO_Endpoint;:next_filtered(). If the supplied source endpoint + /// is null, this returns the first filtered endpoint. + TAO_Endpoint *next_filtered_endpoint (TAO_Endpoint *source); + + /** + * Remove the provided endpoint from the profile. Some + * subclasses of TAO_Profile already have a protocol-specific + * version of remove_endpoint, but this generic interface is + * required. The default implementation is a no-op. Protocol + * maintainers wishing to add support for the EndpointPolicy must + * implement remove_generic_endpoint to call their protocol-specific + * version of remove_endpoint + */ + virtual void remove_generic_endpoint (TAO_Endpoint *ep); + + /// Add a protocol-agnostic endpoint + virtual void add_generic_endpoint (TAO_Endpoint *ep); + /// Verify profile equivalance. /** * Two profiles are equivalent if their tag, object_key, version @@ -227,6 +254,12 @@ public: */ CORBA::Boolean is_equivalent (const TAO_Profile* other_profile); + /** + * Compare the object key for this profile with that of + * another. This is weaker than is_equivalent + */ + CORBA::Boolean compare_key (const TAO_Profile *other) const; + /// Return a hash value for this object. virtual CORBA::ULong hash (CORBA::ULong max ACE_ENV_ARG_DECL) = 0; |