summaryrefslogtreecommitdiffabout
authorqdii <qdii@reblochon.be>2012-11-02 19:46:03 (UTC)
committer Michael Krelin <hacker@klever.net>2012-11-02 19:49:46 (UTC)
commit9ff6244998b0d41e71f7cc7351403ad590e990e4 (patch) (unidiff)
tree4945d4bba357e8103bd61eb5c6be3600ef2e83be
parent648ae5dbd90e062f3432f809a846d50d994b86d4 (diff)
downloadlibopkele-9ff6244998b0d41e71f7cc7351403ad590e990e4.zip
libopkele-9ff6244998b0d41e71f7cc7351403ad590e990e4.tar.gz
libopkele-9ff6244998b0d41e71f7cc7351403ad590e990e4.tar.bz2
Fix argument-lookup failure on GCC 4.7.1, causing compilation to crash.
Modified-by: Michael Krelin <hacker@klever.net> Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/discovery.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/opkele/discovery.h b/include/opkele/discovery.h
index f2721a6..985eef6 100644
--- a/include/opkele/discovery.h
+++ b/include/opkele/discovery.h
@@ -1,114 +1,114 @@
1#ifndef __OPKELE_DISCOVERY_H 1#ifndef __OPKELE_DISCOVERY_H
2#define __OPKELE_DISCOVERY_H 2#define __OPKELE_DISCOVERY_H
3 3
4#include <string> 4#include <string>
5#include <opkele/types.h> 5#include <opkele/types.h>
6 6
7namespace opkele { 7namespace opkele {
8 using std::string; 8 using std::string;
9 9
10 namespace xrd { 10 namespace xrd {
11 11
12 struct priority_compare { 12 struct priority_compare {
13 inline bool operator()(long a,long b) const { 13 inline bool operator()(long a,long b) const {
14 return (a<0) ? false : (b<0) ? true : (a<b); 14 return (a<0) ? false : (b<0) ? true : (a<b);
15 } 15 }
16 }; 16 };
17 17
18 template <typename _DT> 18 template <typename _DT>
19 class priority_map : public multimap<long,_DT,priority_compare> { 19 class priority_map : public multimap<long,_DT,priority_compare> {
20 typedef multimap<long,_DT,priority_compare> map_type; 20 typedef multimap<long,_DT,priority_compare> map_type;
21 public: 21 public:
22 22
23 inline _DT& add(long priority,const _DT& d) { 23 inline _DT& add(long priority,const _DT& d) {
24 return insert(typename map_type::value_type(priority,d))->second; 24 return this->insert(typename map_type::value_type(priority,d))->second;
25 } 25 }
26 26
27 bool has_value(const _DT& d) const { 27 bool has_value(const _DT& d) const {
28 for(typename map_type::const_iterator i=this->begin();i!=this->end();++i) 28 for(typename map_type::const_iterator i=this->begin();i!=this->end();++i)
29 if(i->second==d) return true; 29 if(i->second==d) return true;
30 return false; 30 return false;
31 } 31 }
32 }; 32 };
33 33
34 typedef priority_map<string> canonical_ids_t; 34 typedef priority_map<string> canonical_ids_t;
35 typedef priority_map<string> local_ids_t; 35 typedef priority_map<string> local_ids_t;
36 typedef set<string> types_t; 36 typedef set<string> types_t;
37 struct uri_t { 37 struct uri_t {
38 string uri; 38 string uri;
39 string append; 39 string append;
40 40
41 uri_t() { } 41 uri_t() { }
42 uri_t(const string& u) : uri(u) { } 42 uri_t(const string& u) : uri(u) { }
43 uri_t(const string& u,const string& a) : uri(u), append(a) { } 43 uri_t(const string& u,const string& a) : uri(u), append(a) { }
44 }; 44 };
45 typedef priority_map<uri_t> uris_t; 45 typedef priority_map<uri_t> uris_t;
46 46
47 class service_t { 47 class service_t {
48 public: 48 public:
49 types_t types; 49 types_t types;
50 uris_t uris; 50 uris_t uris;
51 local_ids_t local_ids; 51 local_ids_t local_ids;
52 string provider_id; 52 string provider_id;
53 53
54 void clear() { 54 void clear() {
55 types.clear(); 55 types.clear();
56 uris.clear(); local_ids.clear(); 56 uris.clear(); local_ids.clear();
57 provider_id.clear(); 57 provider_id.clear();
58 } 58 }
59 }; 59 };
60 typedef priority_map<service_t> services_t; 60 typedef priority_map<service_t> services_t;
61 61
62 class XRD_t { 62 class XRD_t {
63 public: 63 public:
64 time_t expires; 64 time_t expires;
65 65
66 canonical_ids_t canonical_ids; 66 canonical_ids_t canonical_ids;
67 local_ids_t local_ids; 67 local_ids_t local_ids;
68 services_t services; 68 services_t services;
69 string provider_id; 69 string provider_id;
70 70
71 void clear() { 71 void clear() {
72 expires = 0; 72 expires = 0;
73 canonical_ids.clear(); local_ids.clear(); 73 canonical_ids.clear(); local_ids.clear();
74 services.clear(); 74 services.clear();
75 provider_id.clear(); 75 provider_id.clear();
76 } 76 }
77 bool empty() const { 77 bool empty() const {
78 return 78 return
79 canonical_ids.empty() 79 canonical_ids.empty()
80 && local_ids.empty() 80 && local_ids.empty()
81 && services.empty(); 81 && services.empty();
82 } 82 }
83 83
84 }; 84 };
85 85
86 } 86 }
87 87
88 typedef openid_endpoint_output_iterator endpoint_discovery_iterator; 88 typedef openid_endpoint_output_iterator endpoint_discovery_iterator;
89 89
90 string idiscover( 90 string idiscover(
91 endpoint_discovery_iterator oi, 91 endpoint_discovery_iterator oi,
92 const string& identity); 92 const string& identity);
93 void yadiscover( 93 void yadiscover(
94 endpoint_discovery_iterator oi, 94 endpoint_discovery_iterator oi,
95 const string& yurl, 95 const string& yurl,
96 const char **types, bool redirs=false); 96 const char **types, bool redirs=false);
97 97
98 struct idiscovery_t { 98 struct idiscovery_t {
99 bool xri_identity; 99 bool xri_identity;
100 string normalized_id; 100 string normalized_id;
101 string canonicalized_id; 101 string canonicalized_id;
102 xrd::XRD_t xrd; 102 xrd::XRD_t xrd;
103 103
104 idiscovery_t() { } 104 idiscovery_t() { }
105 105
106 void clear() { 106 void clear() {
107 normalized_id.clear(); canonicalized_id.clear(); 107 normalized_id.clear(); canonicalized_id.clear();
108 xrd.clear(); 108 xrd.clear();
109 } 109 }
110 110
111 }; 111 };
112} 112}
113 113
114#endif /* __OPKELE_DISCOVERY_H */ 114#endif /* __OPKELE_DISCOVERY_H */