diff options
author | john_c <john_c@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-04-28 03:50:28 +0000 |
---|---|---|
committer | john_c <john_c@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-04-28 03:50:28 +0000 |
commit | 88556d568eb0a06bf8af2ddefacbc1ad5f00401e (patch) | |
tree | 72f4a0e33b9dd26d1783ff005d67494bfb79a9de /TAO/tao/Profile.h | |
parent | 317d8c1ce78436f0107f056418c0c5f5b4231069 (diff) | |
download | ATCD-oci_dave_wchar_refactor_branch.tar.gz |
4_27_06 branch merge in and compile error fixedoci_dave_wchar_refactor_branch
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; |