blob: 5eb1cc37eb2e70bb9eb354cda2b61b4343909d9e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#ifndef __OPKELE_ASSOCIATION_H
#define __OPKELE_ASSOCIATION_H
#include <time.h>
#include <opkele/types.h>
/**
* @file
* @brief reference implementation of association_t
*/
/**
* @brief the main opkele namespace
*/
namespace opkele {
/**
* reference implementation of association_t class.
*/
class association : public association_t {
public:
/**
* OpenID server name
*/
string _server;
/**
* association handle
*/
string _handle;
/**
* association type
*/
string _assoc_type;
/**
* the secret
*/
secret_t _secret;
/**
* expiration time
*/
time_t _expires;
/**
* statelessness of the assoc_handle
*/
bool _stateless;
/**
* @param __server the server name
* @param __handle association handle
* @param __assoc_type association type
* @param __secret the secret
* @param __expires expiration time
* @param __stateless statelessness of the assoc_handle
*/
association(const string& __server, const string& __handle,
const string& __assoc_type, const secret_t& __secret,
time_t __expires, bool __stateless)
: _server(__server), _handle(__handle), _assoc_type(__assoc_type),
_secret(__secret), _expires(__expires), _stateless(__stateless) { }
/**
* @overload association_t::server()
*/
virtual string server() const { return _server; }
/**
* @overload association_t::handle()
*/
virtual string handle() const { return _handle; }
/**
* @overload association_t::assoc_type()
*/
virtual string assoc_type() const { return _assoc_type; }
/**
* @overload association_t::secret()
*/
virtual secret_t secret() const { return _secret; }
/**
* @overload association_t::expires_in()
*/
virtual int expires_in() const { return _expires-time(0); }
/**
* @overload associationn_t::stateless()
*/
virtual bool stateless() const { return _stateless; }
};
}
#endif /* __OPKELE_ASSOCIATION_H */
|