summaryrefslogtreecommitdiffabout
path: root/include
Unidiff
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/util.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/opkele/util.h b/include/opkele/util.h
index e9176b0..6f3ddf6 100644
--- a/include/opkele/util.h
+++ b/include/opkele/util.h
@@ -144,6 +144,24 @@ namespace opkele {
144 144
145 string base64_signature(const assoc_t& assoc,const basic_openid_message& om); 145 string base64_signature(const assoc_t& assoc,const basic_openid_message& om);
146 146
147 class change_mode_message_proxy : public basic_openid_message {
148 public:
149 const basic_openid_message& x;
150 const string& mode;
151
152 change_mode_message_proxy(const basic_openid_message& xx,const string& m) : x(xx), mode(m) { }
153
154 bool has_field(const string& n) const { return x.has_field(n); }
155 const string& get_field(const string& n) const {
156 return (n=="mode")?mode:x.get_field(n); }
157 bool has_ns(const string& uri) const {return x.has_ns(uri); }
158 string get_ns(const string& uri) const { return x.get_ns(uri); }
159 fields_iterator fields_begin() const {
160 return x.fields_begin(); }
161 fields_iterator fields_end() const {
162 return x.fields_end(); }
163 };
164
147 } 165 }
148 166
149} 167}