gloox  1.0.23
Classes | Enumerations
gloox::PubSub Namespace Reference

Classes

struct  Affiliate
 
class  Event
 
class  Item
 
class  Manager
 
class  ResultHandler
 
struct  Subscriber
 
struct  SubscriptionInfo
 
struct  TrackedInfo
 

Enumerations

enum  NodeType { NodeLeaf, NodeCollection, NodeInvalid }
 
enum  AffiliationType {
  AffiliationNone, AffiliationPublisher, AffiliationOwner, AffiliationOutcast,
  AffiliationInvalid
}
 
enum  SubscriptionType {
  SubscriptionNone, SubscriptionSubscribed, SubscriptionPending, SubscriptionUnconfigured,
  SubscriptionInvalid
}
 
enum  EventType {
  EventCollection, EventConfigure, EventDelete, EventItems,
  EventItemsRetract, EventPurge, EventSubscription, EventUnknown
}
 
enum  SubscriptionObject { SubscriptionNodes, SubscriptionItems }
 
enum  AccessModel {
  AccessOpen, AccessPresence, AccessRoster, AccessAuthorize,
  AccessWhitelist, AccessDefault
}
 
enum  PubSubFeature {
  FeatureCollections = 1, FeatureConfigNode = 1<<1, FeatureCreateAndConfig = 1<<2, FeatureCreateNodes = 1<<3,
  FeatureDeleteAny = 1<<4, FeatureDeleteNodes = 1<<5, FeatureGetPending = 1<<6, FeatureInstantNodes = 1<<7,
  FeatureItemIDs = 1<<8, FeatureLeasedSubscription = 1<<9, FeatureManageSubscriptions = 1<<10, FeatureMetaData = 1<<11,
  FeatureModifyAffiliations = 1<<12, FeatureMultiCollection = 1<<13, FeatureMultiSubscribe = 1<<14, FeaturePutcastAffiliation = 1<<15,
  FeaturePersistentItems = 1<<16, FeaturePresenceNotifications = 1<<17, FeaturePublish = 1<<18, FeaturePublisherAffiliation = 1<<19,
  FeaturePurgeNodes = 1<<20, FeatureRetractItems = 1<<21, FeatureRetrieveAffiliations = 1<<22, FeatureRetrieveDefault = 1<<23,
  FeatureRetrieveItems = 1<<24, FeatureRetrieveSubscriptions = 1<<25, FeatureSubscribe = 1<<26, FeatureSubscriptionOptions = 1<<27,
  FeatureSubscriptionNotifs = 1<<28, FeatureUnknown = 1<<29
}
 

Detailed Description

Namespace holding all the Pubsub-related structures and definitions.

Enumeration Type Documentation

◆ AccessModel

Describes the access types.

Enumerator
AccessOpen 

Any entity may subscribe to the node (i.e., without the necessity for subscription approval) and any entity may retrieve items from the node (i.e., without being subscribed); this SHOULD be the default access model for generic pubsub services.

AccessPresence 

Any entity with a subscription of type "from" or "both" may subscribe to the node and retrieve items from the node; this access model applies mainly to instant messaging systems (see RFC 3921).

AccessRoster 

Any entity in the specified roster group(s) may subscribe to the node and retrieve items from the node; this access model applies mainly to instant messaging systems (see RFC 3921).

AccessAuthorize 

The node owner must approve all subscription requests, and only subscribers may retrieve items from the node.

AccessWhitelist 

An entity may be subscribed only through being added to a whitelist by the node owner (unsolicited subscription requests are rejected), and only subscribers may retrieve items from the node. In effect, the default affiliation is outcast. The node owner MUST automatically be on the whitelist. In order to add entities to the whitelist, the node owner SHOULD use the protocol specified in the Manage Affiliated Entities section of this document.

AccessDefault 

Unspecified (default) Access Model (does not represent a real access type by itself).

Definition at line 105 of file pubsub.h.

◆ AffiliationType

Describes the different node affiliation types.

Enumerator
AffiliationNone 

No particular affiliation type.

AffiliationPublisher 

Entity is allowed to publish items.

AffiliationOwner 

Manager for the node.

AffiliationOutcast 

Entity is disallowed from subscribing or publishing.

AffiliationInvalid 

Invalid Affiliation type.

Definition at line 48 of file pubsub.h.

◆ EventType

enum EventType

Event types.

Enumerator
EventCollection 

A Collection node has been created.

EventConfigure 

A node's configuration has changed.

EventDelete 

A node has been deleted.

EventItems 

An item has been created or modified.

EventItemsRetract 

An item has been deleted.

EventPurge 

A Leaf node has been purged.

EventSubscription 

A user's subscription has been processed.

EventUnknown 

Unknown event.

Definition at line 81 of file pubsub.h.

◆ NodeType

enum NodeType

Describes the different node types.

Enumerator
NodeLeaf 

A node that contains published items only. It is NOT a container for other nodes.

NodeCollection 

A node that contains nodes and/or other collections but no published items. Collections make it possible to represent hierarchial node structures.

NodeInvalid 

Invalid node type

Definition at line 35 of file pubsub.h.

◆ PubSubFeature

Describes the different PubSub features (XEP-0060 Sect. 10).

Enumerator
FeatureCollections 

Collection nodes are supported. RECOMMENDED

FeatureConfigNode 

Configuration of node options is supported. RECOMMENDED

FeatureCreateAndConfig 

Simultaneous creation and configuration of nodes is supported. RECOMMENDED

FeatureCreateNodes 

Creation of nodes is supported. RECOMMENDED

FeatureDeleteAny 

Any publisher may delete an item (not only the originating publisher). OPTIONAL

FeatureDeleteNodes 

Deletion of nodes is supported. RECOMMENDED

FeatureGetPending 

Retrieval of pending subscription approvals is supported. OPTIONAL

FeatureInstantNodes 

Creation of instant nodes is supported. RECOMMENDED

FeatureItemIDs 

Publishers may specify item identifiers. RECOMMENDED

FeatureLeasedSubscription 

Time-based subscriptions are supported. OPTIONAL

FeatureManageSubscriptions 

Node owners may manage subscriptions. OPTIONAL

FeatureMetaData 

Node meta-data is supported. RECOMMENDED

FeatureModifyAffiliations 

Node owners may modify affiliations. OPTIONAL

FeatureMultiCollection 

A single leaf node may be associated with multiple collections. OPTIONAL

FeatureMultiSubscribe 

A single entity may subscribe to a node multiple times. OPTIONAL

FeaturePutcastAffiliation 

The outcast affiliation is supported. RECOMMENDED

FeaturePersistentItems 

Persistent items are supported. RECOMMENDED

FeaturePresenceNotifications 

Presence-based delivery of event notifications is supported. OPTIONAL

FeaturePublish 

Publishing items is supported (note: not valid for collection nodes). REQUIRED

FeaturePublisherAffiliation 

The publisher affiliation is supported. OPTIONAL

FeaturePurgeNodes 

Purging of nodes is supported. OPTIONAL

FeatureRetractItems 

Item retraction is supported. OPTIONAL

FeatureRetrieveAffiliations 

Retrieval of current affiliations is supported. RECOMMENDED

FeatureRetrieveDefault 

Retrieval of default node configuration is supported. RECOMMENDED

FeatureRetrieveItems 

Item retrieval is supported. RECOMMENDED

FeatureRetrieveSubscriptions 

Retrieval of current subscriptions is supported. RECOMMENDED

FeatureSubscribe 

Subscribing and unsubscribing are supported. REQUIRED

FeatureSubscriptionOptions 

Configuration of subscription options is supported. OPTIONAL

FeatureSubscriptionNotifs 

Notification of subscription state changes is supported.

FeatureUnknown 

Unrecognized feature

Definition at line 133 of file pubsub.h.

◆ SubscriptionObject

Describes the different subscription types.

Enumerator
SubscriptionNodes 

Receive notification of new nodes only.

SubscriptionItems 

Receive notification of new items only.

Definition at line 96 of file pubsub.h.

◆ SubscriptionType

Describes the different subscription types.

Enumerator
SubscriptionNone 

The node MUST NOT send event notifications or payloads to the Entity.

SubscriptionSubscribed 

An entity is subscribed to a node. The node MUST send all event notifications (and, if configured, payloads) to the entity while it is in this state.

SubscriptionPending 

An entity has requested to subscribe to a node and the request has not yet been approved by a node owner. The node MUST NOT send event notifications or payloads to the entity while it is in this state.

SubscriptionUnconfigured 

An entity has subscribed but its subscription options have not yet been configured. The node MAY send event notifications or payloads to the entity while it is in this state. The service MAY timeout unconfigured subscriptions.

SubscriptionInvalid 

Invalid subscription type.

Definition at line 60 of file pubsub.h.