summaryrefslogtreecommitdiffabout
path: root/include
Unidiff
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/types.h22
1 files changed, 9 insertions, 13 deletions
diff --git a/include/opkele/types.h b/include/opkele/types.h
index bf50e2b..f63bf5d 100644
--- a/include/opkele/types.h
+++ b/include/opkele/types.h
@@ -113,60 +113,56 @@ namespace opkele {
113 virtual bool is_expired() const = 0; 113 virtual bool is_expired() const = 0;
114 }; 114 };
115 115
116 /** 116 /**
117 * the shared_ptr<> for association_t object type 117 * the shared_ptr<> for association_t object type
118 */ 118 */
119 typedef tr1mem::shared_ptr<association_t> assoc_t; 119 typedef tr1mem::shared_ptr<association_t> assoc_t;
120 120
121 class basic_message { 121 class basic_fields {
122 public: 122 public:
123 typedef util::forward_iterator_proxy< 123 typedef util::forward_iterator_proxy<
124 string,const string&,const string* 124 string,const string&,const string*
125 > fields_iterator; 125 > fields_iterator;
126 126
127 basic_message() { } 127 basic_fields() { }
128 virtual ~basic_message() { } 128 virtual ~basic_fields() { }
129 basic_message(const basic_message& x); 129 basic_fields(const basic_fields& x);
130 void copy_to(basic_message& x) const; 130 void copy_to(basic_fields& x) const;
131 void append_to(basic_message& x) const; 131 void append_to(basic_fields& x) const;
132 132
133 virtual bool has_field(const string& n) const = 0; 133 virtual bool has_field(const string& n) const = 0;
134 virtual const string& get_field(const string& n) const = 0; 134 virtual const string& get_field(const string& n) const = 0;
135 135
136 virtual fields_iterator fields_begin() const = 0; 136 virtual fields_iterator fields_begin() const = 0;
137 virtual fields_iterator fields_end() const = 0; 137 virtual fields_iterator fields_end() const = 0;
138 138
139 virtual string append_query(const string& url,const char *pfx=0) const; 139 virtual string append_query(const string& url,const char *pfx=0) const;
140 virtual string query_string(const char *pfx=0) const; 140 virtual string query_string(const char *pfx=0) const;
141 141
142 virtual void reset_fields(); 142 virtual void reset_fields();
143 virtual void set_field(const string& n,const string& v); 143 virtual void set_field(const string& n,const string& v);
144 virtual void reset_field(const string& n); 144 virtual void reset_field(const string& n);
145 145
146 }; 146 };
147 147
148 class basic_openid_message : public basic_message { 148 class basic_openid_message : public basic_fields {
149 public: 149 public:
150 typedef list<string> fields_t;
151 typedef util::forward_iterator_proxy<
152 string,const string&,const string*
153 > fields_iterator;
154 150
155 basic_openid_message() { } 151 basic_openid_message() { }
156 basic_openid_message(const basic_openid_message& x); 152 basic_openid_message(const basic_openid_message& x);
157 153
158 virtual bool has_ns(const string& uri) const; 154 virtual bool has_ns(const string& uri) const;
159 virtual string get_ns(const string& uri) const; 155 virtual string get_ns(const string& uri) const;
160 156
161 virtual string append_query(const string& url,const char *pfx="openid.") const { 157 virtual string append_query(const string& url,const char *pfx="openid.") const {
162 return basic_message::append_query(url,pfx); } 158 return basic_fields::append_query(url,pfx); }
163 virtual string query_string(const char *pfx="openid.") const { 159 virtual string query_string(const char *pfx="openid.") const {
164 return basic_message::query_string(pfx); } 160 return basic_fields::query_string(pfx); }
165 161
166 virtual void from_keyvalues(const string& kv); 162 virtual void from_keyvalues(const string& kv);
167 virtual void to_keyvalues(ostream& o) const; 163 virtual void to_keyvalues(ostream& o) const;
168 164
169 virtual void to_htmlhiddens(ostream& o,const char* pfx=0) const; 165 virtual void to_htmlhiddens(ostream& o,const char* pfx=0) const;
170 166
171 void add_to_signed(const string& fields); 167 void add_to_signed(const string& fields);
172 string find_ns(const string& uri,const char *pfx) const; 168 string find_ns(const string& uri,const char *pfx) const;