diff options
Diffstat (limited to 'Swift/Controllers/AdHocManager.h')
-rw-r--r-- | Swift/Controllers/AdHocManager.h | 63 |
1 files changed, 37 insertions, 26 deletions
diff --git a/Swift/Controllers/AdHocManager.h b/Swift/Controllers/AdHocManager.h index 47b03cd..0786370 100644 --- a/Swift/Controllers/AdHocManager.h +++ b/Swift/Controllers/AdHocManager.h @@ -1,40 +1,51 @@ /* - * Copyright (c) 2010-2011 Kevin Smith - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once -#include <boost/shared_ptr.hpp> #include <vector> -#include <Swiften/Base/boost_bsignals.h> -#include <Swiften/JID/JID.h> +#include <boost/signals2.hpp> + +#include <Swiften/Disco/GetDiscoItemsRequest.h> #include <Swiften/Elements/DiscoInfo.h> #include <Swiften/Elements/DiscoItems.h> #include <Swiften/Elements/ErrorPayload.h> -#include <Swiften/Disco/GetDiscoItemsRequest.h> +#include <Swiften/JID/JID.h> + +#include <Swift/Controllers/AdHocController.h> #include <Swift/Controllers/UIEvents/UIEvent.h> namespace Swift { - class IQRouter; - class MainWindow; - class UIEventStream; - class AdHocCommandWindowFactory; - class AdHocManager { - public: - AdHocManager(const JID& jid, AdHocCommandWindowFactory* factory, IQRouter* iqRouter, UIEventStream* uiEventStream, MainWindow* mainWindow); - ~AdHocManager(); - void setServerDiscoInfo(boost::shared_ptr<DiscoInfo> info); - private: - void handleUIEvent(boost::shared_ptr<UIEvent> event); - void handleServerDiscoItemsResponse(boost::shared_ptr<DiscoItems>, ErrorPayload::ref error); - JID jid_; - IQRouter* iqRouter_; - UIEventStream* uiEventStream_; - MainWindow* mainWindow_; - AdHocCommandWindowFactory* factory_; - GetDiscoItemsRequest::ref discoItemsRequest_; - }; +class IQRouter; +class MainWindow; +class UIEventStream; +class AdHocCommandWindowFactory; + +class AdHocManager { +public: + AdHocManager(const JID& jid, AdHocCommandWindowFactory* factory, IQRouter* iqRouter, UIEventStream* uiEventStream, MainWindow* mainWindow); + ~AdHocManager(); + void removeController(std::shared_ptr<AdHocController> contoller); + void setServerDiscoInfo(std::shared_ptr<DiscoInfo> info); + void setOnline(bool online); + +private: + void handleServerDiscoItemsResponse(std::shared_ptr<DiscoItems>, ErrorPayload::ref error); + void handleUIEvent(std::shared_ptr<UIEvent> event); + boost::signals2::signal<void (const AdHocController&)> onControllerComplete; + +private: + JID jid_; + IQRouter* iqRouter_; + UIEventStream* uiEventStream_; + MainWindow* mainWindow_; + AdHocCommandWindowFactory* factory_; + GetDiscoItemsRequest::ref discoItemsRequest_; + std::vector<std::shared_ptr<AdHocController> > controllers_; +}; + } |