summaryrefslogtreecommitdiffabout
path: root/include/opkele/server.h
Unidiff
Diffstat (limited to 'include/opkele/server.h') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/server.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/include/opkele/server.h b/include/opkele/server.h
index fe07448..bf131d8 100644
--- a/include/opkele/server.h
+++ b/include/opkele/server.h
@@ -1,95 +1,99 @@
1#ifndef __OPKELE_SERVER_H 1#ifndef __OPKELE_SERVER_H
2#define __OPKELE_SERVER_H 2#define __OPKELE_SERVER_H
3 3
4/** 4/**
5 * @file 5 * @file
6 * @brief OpenID server-side functionality 6 * @brief OpenID server-side functionality
7 */ 7 */
8 8
9#include <opkele/types.h> 9#include <opkele/types.h>
10#include <opkele/extension.h>
10 11
11/** 12/**
12 * @brief the main opkele namespace 13 * @brief the main opkele namespace
13 */ 14 */
14namespace opkele { 15namespace opkele {
15 16
16 /** 17 /**
17 * implementation of basic server functionality 18 * implementation of basic server functionality
18 */ 19 */
19 class server_t { 20 class server_t {
20 public: 21 public:
21 22
22 /** 23 /**
23 * allocate the new association. The function should be overridden 24 * allocate the new association. The function should be overridden
24 * in the real implementation to provide persistent assocations 25 * in the real implementation to provide persistent assocations
25 * store. 26 * store.
26 * @param mode the mode of request being processed to base the 27 * @param mode the mode of request being processed to base the
27 * statelessness of the association upon 28 * statelessness of the association upon
28 * @return the auto_ptr<> for the newly allocated association_t object 29 * @return the auto_ptr<> for the newly allocated association_t object
29 */ 30 */
30 virtual assoc_t alloc_assoc(mode_t mode) = 0; 31 virtual assoc_t alloc_assoc(mode_t mode) = 0;
31 /** 32 /**
32 * retrieve the association. The function should be overridden in 33 * retrieve the association. The function should be overridden in
33 * the reqal implementation to provide persistent assocations 34 * the reqal implementation to provide persistent assocations
34 * store. 35 * store.
35 * @param h association handle 36 * @param h association handle
36 * @return the auto_ptr<> for the newly allocated association_t object 37 * @return the auto_ptr<> for the newly allocated association_t object
37 * @throw failed_lookup in case of failure 38 * @throw failed_lookup in case of failure
38 */ 39 */
39 virtual assoc_t retrieve_assoc(const string& h) = 0; 40 virtual assoc_t retrieve_assoc(const string& h) = 0;
40 41
41 /** 42 /**
42 * validate the identity. 43 * validate the identity.
43 * @param assoc association object 44 * @param assoc association object
44 * @param pin incoming request parameters 45 * @param pin incoming request parameters
45 * @param identity being verified 46 * @param identity being verified
46 * @param trust_root presented in the request 47 * @param trust_root presented in the request
47 * @throw exception if identity can not be confirmed 48 * @throw exception if identity can not be confirmed
48 */ 49 */
49 virtual void validate(const association_t& assoc,const params_t& pin,const string& identity,const string& trust_root) = 0; 50 virtual void validate(const association_t& assoc,const params_t& pin,const string& identity,const string& trust_root) = 0;
50 51
51 52
52 /** 53 /**
53 * process the associate request. 54 * process the associate request.
54 * @param pin the incoming request parameters 55 * @param pin the incoming request parameters
55 * @param pout the store for the response parameters 56 * @param pout the store for the response parameters
56 */ 57 */
57 void associate(const params_t& pin,params_t& pout); 58 void associate(const params_t& pin,params_t& pout);
58 /** 59 /**
59 * process the checkid_immediate request. 60 * process the checkid_immediate request.
60 * @param pin the incoming request parameters 61 * @param pin the incoming request parameters
61 * @param return_to reference to the object to store return_to url to 62 * @param return_to reference to the object to store return_to url to
62 * @param pout the response parameters 63 * @param pout the response parameters
64 * @param ext pointer to the extension hooks object
63 * @throw exception in case of errors or negative reply 65 * @throw exception in case of errors or negative reply
64 */ 66 */
65 void checkid_immediate(const params_t& pin,string& return_to,params_t& pout); 67 void checkid_immediate(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0);
66 /** 68 /**
67 * process the checkid_setup request. 69 * process the checkid_setup request.
68 * @param pin the incoming request parameters 70 * @param pin the incoming request parameters
69 * @param return_to reference to the object to store return_to url to 71 * @param return_to reference to the object to store return_to url to
70 * @param pout the response parameters 72 * @param pout the response parameters
73 * @param ext pointer to the extension hooks object
71 * @throw exception in case of errors or negative reply 74 * @throw exception in case of errors or negative reply
72 */ 75 */
73 void checkid_setup(const params_t& pin,string& return_to,params_t& pout); 76 void checkid_setup(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0);
74 /** 77 /**
75 * the actual functionality behind checkid_immediate() and 78 * the actual functionality behind checkid_immediate() and
76 * checkid_setup() 79 * checkid_setup()
77 * @param mode the request being processed (either 80 * @param mode the request being processed (either
78 * mode_checkid_immediate or mode_checkid_setup) 81 * mode_checkid_immediate or mode_checkid_setup)
79 * @param pin the incoming request parameters 82 * @param pin the incoming request parameters
80 * @param return_to reference to the object to store return_to url to 83 * @param return_to reference to the object to store return_to url to
81 * @param pout the response parameters 84 * @param pout the response parameters
85 * @param ext pointer to the extension hooks object
82 * @throw exception in case of errors or negative reply 86 * @throw exception in case of errors or negative reply
83 */ 87 */
84 void checkid_(mode_t mode,const params_t& pin,string& return_to,params_t& pout); 88 void checkid_(mode_t mode,const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0);
85 /** 89 /**
86 * process the check_authentication request. 90 * process the check_authentication request.
87 * @param pin incoming request parameters 91 * @param pin incoming request parameters
88 * @param pout response parameters 92 * @param pout response parameters
89 */ 93 */
90 void check_authentication(const params_t& pin,params_t& pout); 94 void check_authentication(const params_t& pin,params_t& pout);
91 }; 95 };
92 96
93} 97}
94 98
95#endif /* __OPKELE_SERVER_H */ 99#endif /* __OPKELE_SERVER_H */