From 29ca70a6d534e1cd79963718c793ae740318cff1 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Fri, 10 Mar 2017 19:34:56 +0100 Subject: Initial plugin system --- client/src/service/stream_interactor.vala | 70 ------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 client/src/service/stream_interactor.vala (limited to 'client/src/service/stream_interactor.vala') diff --git a/client/src/service/stream_interactor.vala b/client/src/service/stream_interactor.vala deleted file mode 100644 index f3859e3b..00000000 --- a/client/src/service/stream_interactor.vala +++ /dev/null @@ -1,70 +0,0 @@ -using Gee; - -using Xmpp; -using Dino.Entities; - -namespace Dino { - -public class StreamInteractor { - - public signal void account_added(Account account); - public signal void stream_negotiated(Account account); - - public ModuleManager module_manager; - public ConnectionManager connection_manager; - private ArrayList interaction_modules = new ArrayList(); - - public StreamInteractor(Database db) { - module_manager = new ModuleManager(db); - connection_manager = new ConnectionManager(module_manager); - - connection_manager.stream_opened.connect(on_stream_opened); - } - - public void connect(Account account) { - module_manager.add_account(account); - account_added(account); - connection_manager.connect(account); - } - - public void disconnect(Account account) { - connection_manager.disconnect(account); - } - - public ArrayList get_accounts() { - ArrayList ret = new ArrayList(Account.equals_func); - foreach (Account account in connection_manager.get_managed_accounts()) { - ret.add(account); - } - return ret; - } - - public Core.XmppStream? get_stream(Account account) { - return connection_manager.get_stream(account); - } - - public void add_module(StreamInteractionModule module) { - interaction_modules.add(module); - } - - public StreamInteractionModule? get_module(string id) { - foreach (StreamInteractionModule module in interaction_modules) { - if (module.get_id() == id) { - return module; - } - } - return null; - } - - private void on_stream_opened(Account account, Core.XmppStream stream) { - stream.stream_negotiated.connect( (stream) => { - stream_negotiated(account); - }); - } -} - -public interface StreamInteractionModule : Object { - internal abstract string get_id(); -} - -} \ No newline at end of file -- cgit v1.2.3-54-g00ecf