summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Limber/Server/ServerStanzaRouter.h')
-rw-r--r--Limber/Server/ServerStanzaRouter.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/Limber/Server/ServerStanzaRouter.h b/Limber/Server/ServerStanzaRouter.h
new file mode 100644
index 0000000..4a9493b
--- /dev/null
+++ b/Limber/Server/ServerStanzaRouter.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#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_;
+ };
+}