author | Michael Krelin <hacker@klever.net> | 2008-01-21 19:51:23 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2008-01-21 19:51:23 (UTC) |
commit | 2a116bce75236e46946bb9564790c26c6a59b9a4 (patch) (side-by-side diff) | |
tree | 27b047f773ea2f37d080c8c9c8f583d345649856 /include | |
parent | eee78b62ac9c4aed629fc47eb2af6615ca17d2e2 (diff) | |
download | libopkele-2a116bce75236e46946bb9564790c26c6a59b9a4.zip libopkele-2a116bce75236e46946bb9564790c26c6a59b9a4.tar.gz libopkele-2a116bce75236e46946bb9564790c26c6a59b9a4.tar.bz2 |
Implement URI construction handling append='qxri' xrd:URI attribute.
This is the right thing to do and may come in handy assisting OPs in improving
UI.
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | include/opkele/discovery.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/opkele/discovery.h b/include/opkele/discovery.h index ab4b9d9..677d7bb 100644 --- a/include/opkele/discovery.h +++ b/include/opkele/discovery.h @@ -22,33 +22,41 @@ namespace opkele { public: inline _DT& add(long priority,const _DT& d) { return insert(typename map_type::value_type(priority,d))->second; } bool has_value(const _DT& d) const { for(typename map_type::const_iterator i=this->begin();i!=this->end();++i) if(i->second==d) return true; return false; } }; typedef priority_map<string> canonical_ids_t; typedef priority_map<string> local_ids_t; typedef set<string> types_t; - typedef priority_map<string> uris_t; + struct uri_t { + string uri; + string append; + + uri_t() { } + uri_t(const string& u) : uri(u) { } + uri_t(const string& u,const string& a) : uri(u), append(a) { } + }; + typedef priority_map<uri_t> uris_t; class service_t { public: types_t types; uris_t uris; local_ids_t local_ids; string provider_id; void clear() { types.clear(); uris.clear(); local_ids.clear(); provider_id.clear(); } }; typedef priority_map<service_t> services_t; |