summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-07-11 19:10:20 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-07-11 20:43:12 (GMT)
commit69f6c80767ae1b36d8761188e02983ed4b20c371 (patch)
tree6bf7e7fa406f17e33819e7688ebf97117255f4c6 /Swiften/Server/ServerStanzaRouter.h
parente1cc40f06af44243e288f5df2aafe292dd82a02a (diff)
downloadswift-69f6c80767ae1b36d8761188e02983ed4b20c371.zip
swift-69f6c80767ae1b36d8761188e02983ed4b20c371.tar.bz2
Implemented basic server stanza routing.
Diffstat (limited to 'Swiften/Server/ServerStanzaRouter.h')
-rw-r--r--Swiften/Server/ServerStanzaRouter.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/Swiften/Server/ServerStanzaRouter.h b/Swiften/Server/ServerStanzaRouter.h
new file mode 100644
index 0000000..057a2ea
--- /dev/null
+++ b/Swiften/Server/ServerStanzaRouter.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include <boost/shared_ptr.hpp>
+#include <map>
+
+#include "Swiften/JID/JID.h"
+#include "Swiften/Elements/Stanza.h"
+
+namespace Swift {
+ class ServerSession;
+
+ class ServerStanzaRouter {
+ public:
+ ServerStanzaRouter();
+
+ bool routeStanza(boost::shared_ptr<Stanza>);
+
+ void addClientSession(ServerSession*);
+ void removeClientSession(ServerSession*);
+
+ private:
+ std::vector<ServerSession*> clientSessions_;
+ };
+}