summaryrefslogtreecommitdiffabout
path: root/include/opkele
Side-by-side diff
Diffstat (limited to 'include/opkele') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/consumer.h8
-rw-r--r--include/opkele/server.h6
-rw-r--r--include/opkele/xconsumer.h41
-rw-r--r--include/opkele/xserver.h37
4 files changed, 85 insertions, 7 deletions
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
@@ -89,3 +89,3 @@ namespace opkele {
*/
- 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);
/**
@@ -100,3 +100,3 @@ namespace opkele {
*/
- 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);
/**
@@ -112,3 +112,3 @@ namespace opkele {
*/
- 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);
/**
@@ -125,3 +125,3 @@ namespace opkele {
*/
- 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);
/**
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
@@ -66,3 +66,3 @@ namespace opkele {
*/
- 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);
/**
@@ -75,3 +75,3 @@ namespace opkele {
*/
- 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);
/**
@@ -87,3 +87,3 @@ namespace opkele {
*/
- 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);
/**
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 */