-rw-r--r-- | include/opkele/types.h | 2 | ||||
-rw-r--r-- | lib/openid_message.cc | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/include/opkele/types.h b/include/opkele/types.h index d5ad258..842a722 100644 --- a/include/opkele/types.h +++ b/include/opkele/types.h | |||
@@ -32,2 +32,3 @@ namespace opkele { | |||
32 | typedef enum _mode_t { | 32 | typedef enum _mode_t { |
33 | mode_unknown = 0, | ||
33 | mode_associate, | 34 | mode_associate, |
@@ -147,2 +148,3 @@ namespace opkele { | |||
147 | virtual void from_keyvalues(const string& kv); | 148 | virtual void from_keyvalues(const string& kv); |
149 | virtual void to_keyvalues(ostream& o) const; | ||
148 | 150 | ||
diff --git a/lib/openid_message.cc b/lib/openid_message.cc index 3b08748..905ea95 100644 --- a/lib/openid_message.cc +++ b/lib/openid_message.cc | |||
@@ -144,2 +144,19 @@ namespace opkele { | |||
144 | 144 | ||
145 | struct __om_kv_outputter : public unary_function<const string&,void> { | ||
146 | public: | ||
147 | const basic_openid_message& om; | ||
148 | ostream& os; | ||
149 | |||
150 | __om_kv_outputter(const basic_openid_message& om,ostream& os) | ||
151 | : om(om), os(os) { } | ||
152 | |||
153 | result_type operator()(argument_type f) { | ||
154 | os << f << ':' << om.get_field(f) << '\n'; | ||
155 | } | ||
156 | }; | ||
157 | |||
158 | void basic_openid_message::to_keyvalues(ostream& o) const { | ||
159 | for_each(fields_begin(),fields_end(),__om_kv_outputter(*this,o)); | ||
160 | } | ||
161 | |||
145 | void basic_openid_message::add_to_signed(const string& fields) { | 162 | void basic_openid_message::add_to_signed(const string& fields) { |
@@ -221,3 +238,3 @@ namespace opkele { | |||
221 | void openid_message_t::set_field(const string& n,const string& v) { | 238 | void openid_message_t::set_field(const string& n,const string& v) { |
222 | insert(value_type(n,v)); | 239 | (*this)[n]=v; |
223 | } | 240 | } |