Diffusion Apple API  6.9.0
Unified Client Library for iOS, tvOS and OS X / macOS
 All Classes Files Functions Variables Enumerations Enumerator Properties Pages
Class Methods | List of all members
PTDiffusionPathPermission Class Reference

Introduction

Permissions protecting access-controlled operations that are evaluated for a specific topic path.

See Also
PTDiffusionGlobalPermission
Since
6.5
Inheritance diagram for PTDiffusionPathPermission:
PTDiffusionEnumeration

Class Methods

(instancetype) + readTopic
 
(instancetype) + updateTopic
 
(instancetype) + modifyTopic
 
(instancetype) + sendToMessageHandler
 
(instancetype) + sendToSession
 
(instancetype) + selectTopic
 
(instancetype) + queryObsoleteTimeSeriesEvents
 
(instancetype) + editTimeSeriesEvents
 
(instancetype) + editOwnTimeSeriesEvents
 
(instancetype) + acquireLock
 
(instancetype) + unknownTopicPermission
 
(instancetype) + exposeBranch
 
- Class Methods inherited from PTDiffusionEnumeration
(NSSet< PTDiffusionEnumeration * > *) + elements
 

Additional Inherited Members

- Instance Methods inherited from PTDiffusionEnumeration
(BOOL) - isEqualToEnumeration:
 

Method Documentation

+ (instancetype) acquireLock

Acquire a session lock.

Returns
Instance indicating permission to acquire a session lock.
See Also
PTDiffusionSessionLock
Since
6.3
+ (instancetype) editOwnTimeSeriesEvents

Submit edits to time series path events which have an author which is the same as the principal of the calling session.

This permission is a more restrictive alternative to editTimeSeriesEvents.

The updateTopic permission is required to update a time series path. This permission is additionally required to submit edits to a time series path where the event author is the same as the principal of the calling session.

Returns
Instance indicating permission to submit edits to time series path events which have an author identical to the principal of the calling session.
See Also
PTDiffusionTimeSeriesFeature
+ editTimeSeriesEvents
Since
6.3
+ (instancetype) editTimeSeriesEvents

Submit edits to time series topic events.

The updateTopic permission is required to update a time series path. This permission is additionally required to submit edits to a time series path.

Returns
Instance indicating permission to submit edits to time series topic events.
See Also
PTDiffusionTimeSeriesFeature
+ editOwnTimeSeriesEvents
Since
6.3
+ (instancetype) exposeBranch

Expose a branch of the topic tree as a virtual session tree.

The EXPOSE_BRANCH path permission is powerful since it allows a session to expose a whole branch of the topic tree under a different set of path permissions.

A session granted EXPOSE_BRANCH for a particular path effectively has the permission for all descendant paths. From a security perspective, if a role grants EXPOSE_BRANCH at branch X it is ineffectual for it also to deny EXPOSE_BRANCH at a child branch X/Y because a branch mapping to X can still expose paths below X/Y.

Returns
Instance indicating permission to expose branches.
See Also
PTDiffusionSessionTrees
Since
6.7
+ (instancetype) modifyTopic

Add a topic or remove a topic.

Returns
Instance indicating permission to add or remove a topic.
Since
6.3
+ (instancetype) queryObsoleteTimeSeriesEvents

Evaluate queries that return a non-current view of a time series path.

The readTopic permission is required to evaluate any type of query for a time series path. This permission is additionally required for queries that potentially return a non-current view of all or part of a time series. Such queries include value range queries that specify an edit range, and all types of edit range query.

Returns
Instance indicating permission to evaluate queries that return a non-current view of a time series path.
See Also
PTDiffusionTimeSeriesFeature
Since
6.3
+ (instancetype) readTopic

Required to receive information from a topic.

If a session does not have read_topic permission for a path, the path will be excluded from the results of subscription or fetch operations for the session, and the path's details cannot be retrieved by the session.

See Also
+ selectTopic
Returns
Instance indicating permission to receive information from a topic.
Since
6.3
+ (instancetype) selectTopic

Use a topic selector that selects the topic path.

A session must have this permission for the path prefix of any topic selector used to subscribe or fetch.

When the subscription or fetch request completes, the resulting topics are further filtered based on the readTopic permission.

A session that has readTopic but not selectTopic for a particular topic path cannot subscribe directly to topics belonging to the path. However, the session can be independently subscribed by a control session that has modifySession (PTDiffusionGlobalPermission) permission in addition to the appropriate selectTopic permission.

Returns
Instance indicating permission to use a topic selector that selects the topic path.
Since
6.3
+ (instancetype) sendToMessageHandler

Send a message to a handler registered with the server.

Returns
Instance indicating permission to send a message to a handler registered with the server.
Since
6.3
+ (instancetype) sendToSession

Send a message to a client session.

Returns
Instance indicating permission to send a message to a client session.
Since
6.3
+ (instancetype) unknownTopicPermission

A permission that is unsupported by the session.

Returns
Instance indicating an unsupported permission.
Since
6.3
+ (instancetype) updateTopic

Update a topic.

Returns
Instance indicating permission to update a topic.
Since
6.3