aboutsummaryrefslogtreecommitdiff
path: root/client/src/service/stream_interactor.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2017-03-10 19:34:56 +0100
committerMarvin W <git@larma.de>2017-03-10 19:50:34 +0100
commit29ca70a6d534e1cd79963718c793ae740318cff1 (patch)
tree295bc0a88b9f31f103bc970fbdcd2d940d6c83e2 /client/src/service/stream_interactor.vala
parentcf51e1dee22273366700c41a185c4bea343dddfe (diff)
downloaddino-29ca70a6d534e1cd79963718c793ae740318cff1.tar.gz
dino-29ca70a6d534e1cd79963718c793ae740318cff1.zip
Initial plugin system
Diffstat (limited to 'client/src/service/stream_interactor.vala')
-rw-r--r--client/src/service/stream_interactor.vala70
1 files changed, 0 insertions, 70 deletions
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<StreamInteractionModule> interaction_modules = new ArrayList<StreamInteractionModule>();
-
- 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<Account> get_accounts() {
- ArrayList<Account> ret = new ArrayList<Account>(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