aboutsummaryrefslogtreecommitdiff
path: root/mod_pubsub_ng/pubsub_api.hrl
diff options
context:
space:
mode:
Diffstat (limited to 'mod_pubsub_ng/pubsub_api.hrl')
-rw-r--r--mod_pubsub_ng/pubsub_api.hrl101
1 files changed, 101 insertions, 0 deletions
diff --git a/mod_pubsub_ng/pubsub_api.hrl b/mod_pubsub_ng/pubsub_api.hrl
new file mode 100644
index 000000000..a948d3575
--- /dev/null
+++ b/mod_pubsub_ng/pubsub_api.hrl
@@ -0,0 +1,101 @@
+%% API function definition
+
+-record(api_core,
+{
+ create_node = 'pubsub_core' :: module(),
+ delete_node = 'pubsub_core' :: module(),
+ purge_node = 'pubsub_core' :: module(),
+ get_configure_node = 'pubsub_core' :: module(),
+ get_configure_node_default = 'pubsub_core' :: module(),
+ %%
+ publish_item = 'pubsub_core' :: module(),
+ retract_item = 'pubsub_core' :: module(),
+ %%
+ subscribe_node = 'pubsub_core' :: module(),
+ unsubscribe_node = 'pubsub_core' :: module(),
+ set_configure_subscription = 'pubsub_core' :: module(),
+ get_configure_subscription = 'pubsub_core' :: module(),
+ get_configure_subscription_default = 'pubsub_core' :: module(),
+ get_items = 'pubsub_core' :: module(),
+ %%
+ get_entity_affiliations = 'pubsub_core' :: module(),
+ get_entity_subscriptions = 'pubsub_core' :: module(),
+ %%
+ get_node_affiliations = 'pubsub_core' :: module(),
+ get_node_subscriptions = 'pubsub_core' :: module()
+}).
+
+-record(api_db,
+{
+ create_node = 'pubsub_db' :: module(),
+ delete_node = 'pubsub_db' :: module(),
+ purge_node = 'pubsub_db' :: module(),
+ get_configure_node = 'pubsub_db' :: module(),
+ %get_configure_node_default = 'pubsub_db' :: module(),
+ %%
+ publish_item = 'pubsub_db' :: module(),
+ retract_item = 'pubsub_db' :: module(),
+ %%
+ subscribe_node = 'pubsub_db' :: module(),
+ unsubscribe_node = 'pubsub_db' :: module(),
+ set_configure_subscription = 'pubsub_db' :: module(),
+ get_configure_subscription = 'pubsub_db' :: module(),
+ get_configure_subscription_default = 'pubsub_db' :: module(),
+ get_items = 'pubsub_db' :: module(),
+ %%
+ get_entity_affiliations = 'pubsub_db' :: module(),
+ get_entity_subscriptions = 'pubsub_db' :: module(),
+ %%
+ get_node_affiliations = 'pubsub_db' :: module(),
+ get_node_subscriptions = 'pubsub_db' :: module()
+}).
+
+-record(api_broadcast,
+{
+ broadcast_publish = 'pubsub_broadcast' :: module(),
+ broadcast_publish_last = 'pubsub_broadcast' :: module(),
+ notify_create = 'pubsub_broadcast' :: module(),
+ notify_delete = 'pubsub_broadcast' :: module(),
+ notify_publish = 'pubsub_broadcast' :: module(),
+ notify_purge = 'pubsub_broadcast' :: module(),
+ notify_retract = 'pubsub_broadcast' :: module(),
+ notify_subscription = 'pubsub_broadcast' :: module(),
+ notify_subscriptions = 'pubsub_broadcast' :: module()
+}).
+
+-record(api,
+{
+ core = #api_core{} :: #api_core{},
+ db = #api_db{} :: #api_db{},
+ broadcast = #api_broadcast{} :: #api_broadcast{},
+ parser = 'pubsub_parser' :: module(),
+ options = 'pubsub_options' :: module()
+}).
+
+-record(capabilities,
+{
+ plugin :: exmpp_pubsub:plugin(),
+ privacy = false :: boolean(),
+ api = #api{} :: #api{}
+}).
+
+-record(api2,
+{
+ func,
+ core :: 'core',
+ db :: 'db',
+ bkd :: 'mnesia',
+ rtr :: 'router'
+}).
+
+-record(mod_pubsub,
+{
+ server,
+ component,
+ plugin,
+ entity,
+ parameters,
+ features,
+ parser,
+ options
+}).