diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-06-18 10:34:41 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-06-18 10:41:11 (GMT) |
commit | 362b2d147e4050e997104c24b2ed2e818adab5ed (patch) | |
tree | 63340cf49072e2cc0d9d876859249eb22fd540d3 /Limber/Server/ServerFromClientSession.h | |
parent | 0328d98d29b383ecfcb5ffb66df0a9b7b4d85654 (diff) | |
parent | 7af8a078c57d94ff63eb81f26de2f55eca6b5c00 (diff) | |
download | swift-contrib-362b2d147e4050e997104c24b2ed2e818adab5ed.zip swift-contrib-362b2d147e4050e997104c24b2ed2e818adab5ed.tar.bz2 |
Merge branch 'swift-1.x'
* swift-1.x:
Moving unused server code out of Swiften into Limber.
Conflicts:
Limber/Server/ServerFromClientSession.cpp
Limber/Server/ServerSession.cpp
Limber/Server/ServerStanzaRouter.cpp
Limber/Server/SimpleUserRegistry.cpp
Limber/Server/SimpleUserRegistry.h
Limber/Server/UnitTest/ServerStanzaRouterTest.cpp
Limber/Server/UserRegistry.cpp
Limber/main.cpp
Slimber/Server.cpp
Slimber/Server.h
Diffstat (limited to 'Limber/Server/ServerFromClientSession.h')
-rw-r--r-- | Limber/Server/ServerFromClientSession.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Limber/Server/ServerFromClientSession.h b/Limber/Server/ServerFromClientSession.h new file mode 100644 index 0000000..1a0e109 --- /dev/null +++ b/Limber/Server/ServerFromClientSession.h @@ -0,0 +1,60 @@ +/* + * 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 <Swiften/Base/boost_bsignals.h> +#include <boost/enable_shared_from_this.hpp> + +#include <string> +#include <Swiften/Session/Session.h> +#include <Swiften/JID/JID.h> +#include <Swiften/Network/Connection.h> +#include <Swiften/Base/ByteArray.h> + +namespace Swift { + class ProtocolHeader; + class Element; + class Stanza; + class PayloadParserFactoryCollection; + class PayloadSerializerCollection; + class StreamStack; + class UserRegistry; + class XMPPLayer; + class ConnectionLayer; + class Connection; + + class ServerFromClientSession : public Session { + public: + ServerFromClientSession( + const std::string& id, + boost::shared_ptr<Connection> connection, + PayloadParserFactoryCollection* payloadParserFactories, + PayloadSerializerCollection* payloadSerializers, + UserRegistry* userRegistry); + + boost::signal<void ()> onSessionStarted; + void setAllowSASLEXTERNAL(); + + private: + void handleElement(boost::shared_ptr<Element>); + void handleStreamStart(const ProtocolHeader& header); + + void setInitialized(); + bool isInitialized() const { + return initialized; + } + + private: + std::string id_; + UserRegistry* userRegistry_; + bool authenticated_; + bool initialized; + bool allowSASLEXTERNAL; + std::string user_; + }; +} |