aboutsummaryrefslogtreecommitdiff
path: root/src/mod_pubsub/gen_pubsub_node.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2013-04-08 11:12:54 +0200
committerChristophe Romain <christophe.romain@process-one.net>2013-06-13 11:11:02 +0200
commit4d8f7706240a1603468968f47fc7b150b788d62f (patch)
tree92d55d789cc7ac979b3c9e161ffb7f908eba043a /src/mod_pubsub/gen_pubsub_node.erl
parentFix Guide: ejabberd_service expects a shaper_rule, not a shaper (diff)
Switch to rebar build tool
Use dynamic Rebar configuration Make iconv dependency optional Disable transient_supervisors compile option Add hipe compilation support Only compile ibrowse and lhttpc when needed Make it possible to generate an OTP application release Add --enable-debug compile option Add --enable-all compiler option Add --enable-tools configure option Add --with-erlang configure option. Add --enable-erlang-version-check configure option. Add lager support Improve the test suite
Diffstat (limited to 'src/mod_pubsub/gen_pubsub_node.erl')
-rw-r--r--src/mod_pubsub/gen_pubsub_node.erl267
1 files changed, 0 insertions, 267 deletions
diff --git a/src/mod_pubsub/gen_pubsub_node.erl b/src/mod_pubsub/gen_pubsub_node.erl
deleted file mode 100644
index 0cf1fd2ff..000000000
--- a/src/mod_pubsub/gen_pubsub_node.erl
+++ /dev/null
@@ -1,267 +0,0 @@
-%%% ====================================================================
-%%% ``The contents of this file are subject to the Erlang Public License,
-%%% Version 1.1, (the "License"); you may not use this file except in
-%%% compliance with the License. You should have received a copy of the
-%%% Erlang Public License along with this software. If not, it can be
-%%% retrieved via the world wide web at http://www.erlang.org/.
-%%%
-%%% Software distributed under the License is distributed on an "AS IS"
-%%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-%%% the License for the specific language governing rights and limitations
-%%% under the License.
-%%%
-%%% The Initial Developer of the Original Code is ProcessOne.
-%%% Portions created by ProcessOne are Copyright 2006-2013, ProcessOne
-%%% All Rights Reserved.''
-%%% This software is copyright 2006-2013, ProcessOne.
-%%%
-%%%
-%%% @copyright 2006-2013 ProcessOne
-%%% @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).
-
--include("jlib.hrl").
-
--type(host() :: mod_pubsub:host()
- | mod_pubsub_odbc:host()
-).
-
--type(nodeId() :: mod_pubsub:nodeId()
- | mod_pubsub_odbc:nodeId()
-).
-
--type(nodeIdx() :: mod_pubsub:nodeIdx()
- | mod_pubsub_odbc:nodeIdx()
-).
-
--type(itemId() :: mod_pubsub:itemId()
- | mod_pubsub_odbc:itemId()
-).
-
--type(pubsubNode() :: mod_pubsub:pubsubNode()
- | mod_pubsub_odbc:pubsubNode()
-).
-
--type(pubsubState() :: mod_pubsub:pubsubState()
- | mod_pubsub_odbc:pubsubState()
-).
-
--type(pubsubItem() :: mod_pubsub:pubsubItem()
- | mod_pubsub_odbc:pubsubItem()
-).
-
--type(nodeOptions() :: mod_pubsub:nodeOptions()
- | mod_pubsub_odbc:nodeOptions()
-).
-
--type(subOptions() :: mod_pubsub:subOptions()
- | mod_pubsub_odbc:subOptions()
-).
-
--type(affiliation() :: mod_pubsub:affiliation()
- | mod_pubsub_odbc:affiliation()
-).
-
--type(subscription() :: mod_pubsub:subscription()
- | mod_pubsub_odbc:subscription()
-).
-
--type(subId() :: mod_pubsub:subId()
- | mod_pubsub_odbc:subId()
-).
-
--type(accessModel() :: mod_pubsub:accessModel()
- | mod_pubsub_odbc:accessModel()
-).
-
--type(publishModel() :: mod_pubsub:publishModel()
- | mod_pubsub_odbc:publishModel()
-).
-
--type(payload() :: mod_pubsub:payload()
- | mod_pubsub_odbc:payload()
-).
-
--callback init(Host :: binary(),
- ServerHost :: binary(),
- Opts :: [any()]) -> atom().
-
--callback terminate(Host :: host(),
- ServerHost :: binary()) -> atom().
-
--callback options() -> [{atom(), any()}].
-
--callback features() -> [binary()].
-
--callback create_node_permission(Host :: host(),
- ServerHost :: binary(),
- Node :: nodeId(),
- ParentNode :: nodeId(),
- Owner :: jid(), Access :: atom()) ->
- {result, boolean()}.
-
--callback create_node(NodeIdx :: nodeIdx(),
- Owner :: jid()) ->
- {result, {default, broadcast}}.
-
--callback delete_node(Nodes :: [pubsubNode(),...]) ->
- {result,
- {default, broadcast,
- [{pubsubNode(),
- [{ljid(), [{subscription(), subId()}]},...]},...]
- }
- }
- |
- {result,
- {[],
- [{pubsubNode(),
- [{ljid(), [{subscription(), subId()}]},...]},...]
- }
- }.
-
--callback purge_node(NodeIdx :: nodeIdx(),
- Owner :: jid()) ->
- {result, {default, broadcast}} |
- {error, xmlel()}.
-
--callback subscribe_node(NodeIdx :: nodeIdx(),
- Sender :: jid(),
- Subscriber :: ljid(),
- AccessModel :: accessModel(),
- SendLast :: 'never' | 'on_sub' | 'on_sub_and_presence',
- PresenceSubscription :: boolean(),
- RosterGroup :: boolean(),
- Options :: subOptions()) ->
- {result, {default, subscribed, subId()}} |
- {result, {default, subscribed, subId(), send_last}} |
- {result, {default, pending, subId()}} |
- {error, xmlel()}.
-
--callback unsubscribe_node(NodeIdx :: nodeIdx(),
- Sender :: jid(),
- Subscriber :: ljid(),
- SubId :: subId()) ->
- {result, default} |
- {error, xmlel()}.
-
--callback publish_item(NodeId :: nodeIdx(),
- Publisher :: jid(),
- PublishModel :: publishModel(),
- Max_Items :: non_neg_integer(),
- ItemId :: <<>> | itemId(),
- Payload :: payload()) ->
- {result, {default, broadcast, [itemId()]}} |
- {error, xmlel()}.
-
--callback delete_item(NodeIdx :: nodeIdx(),
- Publisher :: jid(),
- PublishModel :: publishModel(),
- ItemId :: <<>> | itemId()) ->
- {result, {default, broadcast}} |
- {error, xmlel()}.
-
--callback remove_extra_items(NodeIdx :: nodeIdx(),
- Max_Items :: unlimited | non_neg_integer(),
- ItemIds :: [itemId()]) ->
- {result, {[itemId()], [itemId()]}
- }.
-
--callback get_node_affiliations(NodeIdx :: nodeIdx()) ->
- {result, [{ljid(), affiliation()}]}.
-
--callback get_entity_affiliations(Host :: host(),
- Owner :: jid()) ->
- {result, [{pubsubNode(), affiliation()}]}.
-
--callback get_affiliation(NodeIdx :: nodeIdx(),
- Owner :: jid()) ->
- {result, affiliation()}.
-
--callback set_affiliation(NodeIdx :: nodeIdx(),
- Owner :: ljid(),
- Affiliation :: affiliation()) ->
- ok |
- {error, xmlel()}.
-
--callback get_node_subscriptions(NodeIdx :: nodeIdx()) ->
- {result,
- [{ljid(), subscription(), subId()}] |
- [{ljid(), none},...]
- }.
-
--callback get_entity_subscriptions(Host :: host(),
- Owner :: jid()) ->
- {result, [{pubsubNode(), subscription(), subId(), ljid()}]
- }.
-
--callback get_subscriptions(NodeIdx :: nodeIdx(),
- Owner :: ljid()) ->
- {result, [{subscription(), subId()}]}.
-
--callback get_pending_nodes(Host :: host(),
- Owner :: jid()) ->
- {result, [nodeId()]}.
-
--callback get_states(NodeIdx::nodeIdx()) ->
- {result, [pubsubState()]}.
-
--callback get_state(NodeIdx :: nodeIdx(),
- JID :: ljid()) ->
- pubsubState().
-
--callback set_state(State::pubsubState()) ->
- ok |
- {error, xmlel()}.
-
--callback get_items(NodeIdx :: nodeIdx(),
- JID :: jid(),
- AccessModel :: accessModel(),
- Presence_Subscription :: boolean(),
- RosterGroup :: boolean(),
- SubId :: subId()) ->
- {result, [pubsubItem()]} |
- {error, xmlel()}.
-
--callback get_items(NodeIdx :: nodeIdx(),
- From :: jid()) ->
- {result, [pubsubItem()]}.
-
--callback get_item(NodeIdx :: nodeIdx(),
- ItemId :: itemId(),
- JID :: jid(),
- AccessModel :: accessModel(),
- PresenceSubscription :: boolean(),
- RosterGroup :: boolean(),
- SubId :: subId()) ->
- {result, pubsubItem()} |
- {error, xmlel()}.
-
--callback get_item(NodeIdx :: nodeIdx(),
- ItemId :: itemId()) ->
- {result, pubsubItem()} |
- {error, xmlel()}.
-
--callback set_item(Item :: pubsubItem()) ->
- ok.
-% | {error, _}.
-
--callback get_item_name(Host :: host(),
- ServerHost :: binary(),
- Node :: nodeId()) ->
- itemId().
-
--callback node_to_path(Node :: nodeId()) ->
- [nodeId()].
-
--callback path_to_node(Node :: [nodeId()]) ->
- nodeId().