summaryrefslogtreecommitdiffabout
path: root/include
authorMichael Krelin <hacker@klever.net>2008-01-21 19:51:23 (UTC)
committer Michael Krelin <hacker@klever.net>2008-01-21 19:51:23 (UTC)
commit2a116bce75236e46946bb9564790c26c6a59b9a4 (patch) (unidiff)
tree27b047f773ea2f37d080c8c9c8f583d345649856 /include
parenteee78b62ac9c4aed629fc47eb2af6615ca17d2e2 (diff)
downloadlibopkele-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>
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/discovery.h10
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
@@ -26,25 +26,33 @@ namespace opkele {
26 } 26 }
27 27
28 bool has_value(const _DT& d) const { 28 bool has_value(const _DT& d) const {
29 for(typename map_type::const_iterator i=this->begin();i!=this->end();++i) 29 for(typename map_type::const_iterator i=this->begin();i!=this->end();++i)
30 if(i->second==d) return true; 30 if(i->second==d) return true;
31 return false; 31 return false;
32 } 32 }
33 }; 33 };
34 34
35 typedef priority_map<string> canonical_ids_t; 35 typedef priority_map<string> canonical_ids_t;
36 typedef priority_map<string> local_ids_t; 36 typedef priority_map<string> local_ids_t;
37 typedef set<string> types_t; 37 typedef set<string> types_t;
38 typedef priority_map<string> uris_t; 38 struct uri_t {
39 string uri;
40 string append;
41
42 uri_t() { }
43 uri_t(const string& u) : uri(u) { }
44 uri_t(const string& u,const string& a) : uri(u), append(a) { }
45 };
46 typedef priority_map<uri_t> uris_t;
39 47
40 class service_t { 48 class service_t {
41 public: 49 public:
42 types_t types; 50 types_t types;
43 uris_t uris; 51 uris_t uris;
44 local_ids_t local_ids; 52 local_ids_t local_ids;
45 string provider_id; 53 string provider_id;
46 54
47 void clear() { 55 void clear() {
48 types.clear(); 56 types.clear();
49 uris.clear(); local_ids.clear(); 57 uris.clear(); local_ids.clear();
50 provider_id.clear(); 58 provider_id.clear();