core/componentmanager.lua

Wed, 10 Nov 2010 20:51:23 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Wed, 10 Nov 2010 20:51:23 +0500
changeset 3603
fdc671381411
parent 3602
a977d8be6277
permissions
-rw-r--r--

componentmanager: Removed most of the code. Stub implementations of register_component and deregister_component remain.

1523
841d61be198f Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents: 1442
diff changeset
1 -- Prosody IM
2923
b7049746bd29 Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents: 2323
diff changeset
2 -- Copyright (C) 2008-2010 Matthew Wild
b7049746bd29 Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents: 2323
diff changeset
3 -- Copyright (C) 2008-2010 Waqas Hussain
519
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 270
diff changeset
4 --
758
b1885732e979 GPL->MIT!
Matthew Wild <mwild1@gmail.com>
parents: 751
diff changeset
5 -- This project is MIT/X11 licensed. Please see the
b1885732e979 GPL->MIT!
Matthew Wild <mwild1@gmail.com>
parents: 751
diff changeset
6 -- COPYING file in the source package for more information.
519
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 270
diff changeset
7 --
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 270
diff changeset
8
610
d98106902f74 Enable dialback for components
Waqas Hussain <waqas20@gmail.com>
parents: 519
diff changeset
9 local log = require "util.logger".init("componentmanager");
2323
b7f683c55a44 componentmanager: Set ssl_ctx[_in] for components correctly, and use global SSL context if available
Matthew Wild <mwild1@gmail.com>
parents: 2075
diff changeset
10 local prosody, hosts = prosody, prosody.hosts;
847
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
11
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
12 local components = {};
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
13
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
14 module "componentmanager"
751
7c22619fdb19 componentmanager: Add support for loading components defined in the config
Matthew Wild <mwild1@gmail.com>
parents: 703
diff changeset
15
3547
3242e70f1058 componentmanager: Removed an unused third parameter from the register_component function.
Waqas Hussain <waqas20@gmail.com>
parents: 3540
diff changeset
16 function register_component(host, component)
3603
fdc671381411 componentmanager: Removed most of the code. Stub implementations of register_component and deregister_component remain.
Waqas Hussain <waqas20@gmail.com>
parents: 3602
diff changeset
17 if hosts[host] and hosts[host].type == 'component' then
847
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
18 components[host] = component;
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
19 log("debug", "component added: "..host);
3547
3242e70f1058 componentmanager: Removed an unused third parameter from the register_component function.
Waqas Hussain <waqas20@gmail.com>
parents: 3540
diff changeset
20 return hosts[host];
847
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
21 else
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
22 log("error", "Attempt to set component for existing host: "..host);
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
23 end
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
24 end
673
c9bc58e84e96 componentmanager: Added support for component deregistering
Waqas Hussain <waqas20@gmail.com>
parents: 638
diff changeset
25
703
f9909efed20c componentmanager: Removed unneeded parameter from componentmanager.deregister_component
Waqas Hussain <waqas20@gmail.com>
parents: 673
diff changeset
26 function deregister_component(host)
673
c9bc58e84e96 componentmanager: Added support for component deregistering
Waqas Hussain <waqas20@gmail.com>
parents: 638
diff changeset
27 if components[host] then
3603
fdc671381411 componentmanager: Removed most of the code. Stub implementations of register_component and deregister_component remain.
Waqas Hussain <waqas20@gmail.com>
parents: 3602
diff changeset
28 components[host] = nil;
673
c9bc58e84e96 componentmanager: Added support for component deregistering
Waqas Hussain <waqas20@gmail.com>
parents: 638
diff changeset
29 log("debug", "component removed: "..host);
c9bc58e84e96 componentmanager: Added support for component deregistering
Waqas Hussain <waqas20@gmail.com>
parents: 638
diff changeset
30 return true;
c9bc58e84e96 componentmanager: Added support for component deregistering
Waqas Hussain <waqas20@gmail.com>
parents: 638
diff changeset
31 else
c9bc58e84e96 componentmanager: Added support for component deregistering
Waqas Hussain <waqas20@gmail.com>
parents: 638
diff changeset
32 log("error", "Attempt to remove component for non-existing host: "..host);
c9bc58e84e96 componentmanager: Added support for component deregistering
Waqas Hussain <waqas20@gmail.com>
parents: 638
diff changeset
33 end
c9bc58e84e96 componentmanager: Added support for component deregistering
Waqas Hussain <waqas20@gmail.com>
parents: 638
diff changeset
34 end
847
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
35
2d424936723c core.componentmanager: Refactor a little to make XEP-0114 plugin a little simpler
Matthew Wild <mwild1@gmail.com>
parents: 777
diff changeset
36 return _M;

mercurial