summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Maudsley <richard.maudsley@isode.com>2014-05-02 09:19:23 (GMT)
committerSwift Review <review@swift.im>2014-07-09 09:03:34 (GMT)
commitacac7962ba04c083377f62f4265ecc754176f74e (patch)
treefa2db718854d10c76e81fc54b0b1f2b33a12963f /Swift/Controllers/AdHocManager.h
parent8ab7ca17fdde8f8fb62a0c574478aa2c4c01a9bc (diff)
downloadswift-acac7962ba04c083377f62f4265ecc754176f74e.zip
swift-acac7962ba04c083377f62f4265ecc754176f74e.tar.bz2
Refactor AdHoc forms.
Test-Information: Check that forms still open properly and can be submitted and canceled. Check that error message is displayed if disconnected when a form is open. Change-Id: I23e35730b0decdfb5cf0592fc7234bf4643b6127
Diffstat (limited to 'Swift/Controllers/AdHocManager.h')
-rw-r--r--Swift/Controllers/AdHocManager.h50
1 files changed, 27 insertions, 23 deletions
diff --git a/Swift/Controllers/AdHocManager.h b/Swift/Controllers/AdHocManager.h
index 47b03cd..b2c34c5 100644
--- a/Swift/Controllers/AdHocManager.h
+++ b/Swift/Controllers/AdHocManager.h
@@ -1,12 +1,9 @@
/*
- * Copyright (c) 2010-2011 Kevin Smith
+ * Copyright (c) 2010-2014 Kevin Smith
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
-#pragma once
-
-#include <boost/shared_ptr.hpp>
#include <vector>
#include <Swiften/Base/boost_bsignals.h>
@@ -15,26 +12,33 @@
#include <Swiften/Elements/DiscoItems.h>
#include <Swiften/Elements/ErrorPayload.h>
#include <Swiften/Disco/GetDiscoItemsRequest.h>
+#include <Swiften/Client/Client.h>
#include <Swift/Controllers/UIEvents/UIEvent.h>
+#include <Swift/Controllers/AdHocController.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(boost::shared_ptr<AdHocController> contoller);
+ void setServerDiscoInfo(boost::shared_ptr<DiscoInfo> info);
+ void setOnline(bool online);
+private:
+ void handleServerDiscoItemsResponse(boost::shared_ptr<DiscoItems>, ErrorPayload::ref error);
+ void handleUIEvent(boost::shared_ptr<UIEvent> event);
+ boost::signal<void (const AdHocController&)> onControllerComplete;
+ JID jid_;
+ IQRouter* iqRouter_;
+ UIEventStream* uiEventStream_;
+ MainWindow* mainWindow_;
+ AdHocCommandWindowFactory* factory_;
+ GetDiscoItemsRequest::ref discoItemsRequest_;
+ std::vector<boost::shared_ptr<AdHocController> > controllers_;
+};
+
}