summaryrefslogtreecommitdiff
path: root/icespider/common/session.ice
blob: d4136fa1fea53ff709a75f00e191911f445644aa (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
#ifndef ICESPIDER_SESSION_ICE
#define ICESPIDER_SESSION_ICE

[["ice-prefix"]]
module IceSpider {
	["cpp:type:std::map<std::string, std::string, std::less<>>"]
	dictionary<string, string> Variables;

	exception SessionError {
		string what;
	};

	class Session {
		string id;
		long lastUsed;
		short duration;
		Variables variables;
	};

	interface SessionManager {
		Session createSession() throws SessionError;
		Session getSession(string id) throws SessionError;
		void updateSession(Session session) throws SessionError;
		void destroySession(string id) throws SessionError;
	};
};

#endif