summaryrefslogtreecommitdiff
path: root/src/mod_pubsub/gen_pubsub_node.erl
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2007-12-01 05:16:30 +0000
committerAlexey Shchepin <alexey@process-one.net>2007-12-01 05:16:30 +0000
commitc3c782d8821ef3abac509e63b9bff860981ea80f (patch)
tree99ea957b5f43501c024eab9deee16c3e5d1d4ad0 /src/mod_pubsub/gen_pubsub_node.erl
parent* src/odbc_queries.erl: Added a default define value so that we can (diff)
* src/mod_caps.erl: CAPS support (thanks to Magnus Henoch)
* src/ejabberd_local.erl: Support for IQ responses * src/jlib.erl: Added iq_query_or_response_info/1 function * src/jlib.hrl: Added NS_PUBSUB_ERRORS and NS_CAPS * src/mod_pubsub/Makefile.in: New pubsub+pep implementation (thanks to Christophe Romain and Magnus Henoch) * src/ejabberd_sm.erl: Added get_session_pid/3 function * src/ejabberd_c2s.erl: Added get_subscribed_and_online/1 function SVN Revision: 1004
Diffstat (limited to 'src/mod_pubsub/gen_pubsub_node.erl')
-rw-r--r--src/mod_pubsub/gen_pubsub_node.erl55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/mod_pubsub/gen_pubsub_node.erl b/src/mod_pubsub/gen_pubsub_node.erl
new file mode 100644
index 00000000..33c27049
--- /dev/null
+++ b/src/mod_pubsub/gen_pubsub_node.erl
@@ -0,0 +1,55 @@
+%%% ====================================================================
+%%% This software is copyright 2007, Process-one.
+%%%
+%%% @copyright 2006 Process-one
+%%% @author Christophe Romain <christophe.romain@process-one.net>
+%%% [http://www.process-one.net/]
+%%% @version {@vsn}, {@date} {@time}
+%%% @end
+%%% ====================================================================
+
+%%% @private
+%%% @doc <p>The module <strong>{@module}</strong> defines the PubSub node
+%%% plugin behaviour. This behaviour is used to check that a PubSub plugin
+%%% respects the current ejabberd PubSub plugin API.</p>
+
+-module(gen_pubsub_node).
+
+-export([behaviour_info/1]).
+
+%% @spec (Query::atom()) -> Callbacks | atom()
+%% Callbacks = [{Function,Arity}]
+%% Function = atom()
+%% Arity = integer()
+%% @doc Behaviour definition
+behaviour_info(callbacks) ->
+ [{init, 3},
+ {terminate, 2},
+ {options, 0},
+ {features, 0},
+ {create_node_permission, 6},
+ {create_node, 3},
+ {delete_node, 2},
+ {purge_node, 3},
+ {subscribe_node, 8},
+ {unsubscribe_node, 5},
+ {publish_item, 7},
+ {delete_item, 4},
+ {remove_extra_items, 4},
+ {get_node_affiliations, 2},
+ {get_entity_affiliations, 2},
+ {get_affiliation, 3},
+ {set_affiliation, 4},
+ {get_node_subscriptions, 2},
+ {get_entity_subscriptions, 2},
+ {get_subscription, 3},
+ {set_subscription, 4},
+ {get_states, 2},
+ {get_state, 3},
+ {set_state, 1},
+ {get_items, 2},
+ {get_item, 3},
+ {set_item, 1}
+ ];
+behaviour_info(_Other) ->
+ undefined.