-rw-r--r-- | include/Makefile.am | 4 | ||||
-rw-r--r-- | include/opkele/consumer.h | 8 | ||||
-rw-r--r-- | include/opkele/server.h | 6 | ||||
-rw-r--r-- | include/opkele/xconsumer.h | 41 | ||||
-rw-r--r-- | include/opkele/xserver.h | 37 |
5 files changed, 88 insertions, 8 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index 2c190b8..f3551f5 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -9,5 +9,7 @@ nobase_include_HEADERS = \ opkele/extension.h \ opkele/sreg.h \ - opkele/extension_chain.h + opkele/extension_chain.h \ + opkele/xconsumer.h \ + opkele/xserver.h EXTRA_DIST = \ opkele/data.h \ diff --git a/include/opkele/consumer.h b/include/opkele/consumer.h index f9939cf..f32509e 100644 --- a/include/opkele/consumer.h +++ b/include/opkele/consumer.h @@ -88,5 +88,5 @@ namespace opkele { * @throw exception in case of error */ - string checkid_immediate(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); + virtual string checkid_immediate(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); /** * prepare the parameters for the checkid_setup @@ -99,5 +99,5 @@ namespace opkele { * @throw exception in case of error */ - string checkid_setup(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); + virtual string checkid_setup(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); /** * the actual implementation behind checkid_immediate() and @@ -111,5 +111,5 @@ namespace opkele { * @throw exception in case of error */ - string checkid_(mode_t mode,const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); + virtual string checkid_(mode_t mode,const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); /** * verify the id_res response @@ -124,5 +124,5 @@ namespace opkele { * @throw exception in case of other failures */ - void id_res(const params_t& pin,const string& identity="",extension_t *ext=0); + virtual void id_res(const params_t& pin,const string& identity="",extension_t *ext=0); /** * perform a check_authentication request. diff --git a/include/opkele/server.h b/include/opkele/server.h index bf131d8..598eb47 100644 --- a/include/opkele/server.h +++ b/include/opkele/server.h @@ -65,5 +65,5 @@ namespace opkele { * @throw exception in case of errors or negative reply */ - void checkid_immediate(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); + virtual void checkid_immediate(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); /** * process the checkid_setup request. @@ -74,5 +74,5 @@ namespace opkele { * @throw exception in case of errors or negative reply */ - void checkid_setup(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); + virtual void checkid_setup(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); /** * the actual functionality behind checkid_immediate() and @@ -86,5 +86,5 @@ namespace opkele { * @throw exception in case of errors or negative reply */ - void checkid_(mode_t mode,const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); + virtual void checkid_(mode_t mode,const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); /** * process the check_authentication request. diff --git a/include/opkele/xconsumer.h b/include/opkele/xconsumer.h new file mode 100644 index 0000000..14a8aaa --- a/dev/null +++ b/include/opkele/xconsumer.h @@ -0,0 +1,41 @@ +#ifndef __OPKELE_XCONSUMER_H +#define __OPKELE_XCONSUMER_H + +/** + * @file + * @brief OpenID consumer with built-in extension chain + */ + +#include <opkele/extension_chain.h> +#include <opkele/consumer.h> + +/** + * @brief the main opkele namespace + */ +namespace opkele { + + /** + * Extended OpenID consumer implementation with built in + * extensions chain. + */ + class xconsumer_t : public consumer_t, public extension_chain_t { + public: + + string checkid_immediate(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0) { + return consumer_t::checkid_immediate(identity,return_to,trust_root,this); + } + string chekid_setup(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0) { + return consumer_t::checkid_setup(identity,return_to,trust_root,this); + } + string checkid_(mode_t mode,const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0) { + return consumer_t::checkid_(mode,identity,return_to,trust_root,this); + } + void id_res(const params_t& pin,const string& identity="",extension_t *ext=0) { + consumer_t::id_res(pin,identity,this); + } + + }; + +} + +#endif /* __OPKELE_XCONSUMER_H */ diff --git a/include/opkele/xserver.h b/include/opkele/xserver.h new file mode 100644 index 0000000..e29bfe6 --- a/dev/null +++ b/include/opkele/xserver.h @@ -0,0 +1,37 @@ +#ifndef __OPKELE_XSERVER_H +#define __OPKELE_XSERVER_H + +/** + * @file + * @brief OpenID server with built-in extension chain + */ + +#include <opkele/extension_chain.h> +#include <opkele/server.h> + +/** + * @brief the main opkele namespace + */ +namespace opkele { + + /** + * Extended OpenID server implementationwith built in + * extensions chain. + */ + class xserver_t : public server_t, public extension_chain_t { + public: + + void checkid_immediate(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0) { + server_t::checkid_immediate(pin,return_to,pout,this); + } + void checkid_setup(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0) { + server_t::checkid_setup(pin,return_to,pout,this); + } + void checkid_(mode_t mode,const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0) { + server_t::checkid_(mode,pin,return_to,pout,this); + } + }; + +} + +#endif /* __OPKELE_XSERVER_H */ |