-export([subscription_to_string/1, affiliation_to_string/1,
string_to_subscription/1, string_to_affiliation/1,
extended_error/2, extended_error/3, service_jid/1,
- tree/1, tree/2, plugin/2, config/3, host/1, serverhost/1]).
+ tree/1, tree/2, plugin/2, plugins/1, config/3,
+ host/1, serverhost/1]).
%% API and gen_server callbacks
-export([start_link/2, start/2, stop/1, init/1,
get_node(Nidx) ->
{Host, Node} = nodeid(Nidx),
- Record = #pubsub_node{nodeid = Node, id = Nidx},
- Module = jlib:binary_to_atom(<<"node_", (Record#pubsub_node.type)/binary>>),
- Record#pubsub_node{owners = [{<<"">>, Host, <<"">>}],
- options = Module:options()}.
+ [Type|_] = mod_pubsub:plugins(Host),
+ Module = mod_pubsub:plugin(Host, Type),
+ #pubsub_node{nodeid = Node, id = Nidx, type = Type,
+ owners = [{<<"">>, Host, <<"">>}],
+ options = Module:options()}.
get_nodes(Host, _From) ->
get_nodes(Host).