openDAQ
Open data acquisition platform
IPermissionsBuilder Struct Referenceabstract

A class which is responsible for assigning permissions to a property object. Permisison builder can specify allowed and denied permissions for each group. It can also inherit or overwrite premissions from parent objects. More...

+ Inheritance diagram for IPermissionsBuilder:
+ Collaboration diagram for IPermissionsBuilder:

Detailed Description

A class which is responsible for assigning permissions to a property object. Permisison builder can specify allowed and denied permissions for each group. It can also inherit or overwrite premissions from parent objects.

Public Member Functions

virtual ErrCode INTERFACE_FUNC inherit (Bool inherit)=0
 Configure component to inherit or ignore permissions from the parent object. More...
 
virtual ErrCode INTERFACE_FUNC assign (IString *groupId, IPermissionMaskBuilder *permissions)=0
 Strictly assign a specified set of permissions for a given group. This method allows only the specified permissions and will not inherit any permissions from the parent object for the group, even if the inherit flag is enabled. More...
 
virtual ErrCode INTERFACE_FUNC allow (IString *groupId, IPermissionMaskBuilder *permissions)=0
 Allow a specified set of permissions for a given group. If the inherit flag is enabled, this method will allow both the specified permissions and any permissions already allowed for the group on the parent component. Denied permissions will always overrule allowed permissions. More...
 
virtual ErrCode INTERFACE_FUNC deny (IString *groupId, IPermissionMaskBuilder *permissions)=0
 Deny a specified set of permissions for a given group. If the inherit flag is enabled, this method will deny both the specified permissions and any permissions already denied for the group on the parent component. Denied permissions will always overrule allowed permissions. More...
 
virtual ErrCode INTERFACE_FUNC extend (IPermissions *config)=0
 Add permissions of another permission config object and overwrite existing ones. Inherit flag will not be overwritten. More...
 
virtual ErrCode INTERFACE_FUNC build (IPermissions **configOut)=0
 Builds the permission config object. More...
 
- Public Member Functions inherited from IBaseObject
virtual ErrCode INTERFACE_FUNC borrowInterface (const IntfID &intfID, void **obj) const =0
 Returns another interface which is supported by the object without incrementing the reference count. More...
 
virtual ErrCode INTERFACE_FUNC dispose ()=0
 Disposes all references held by the object. More...
 
virtual ErrCode INTERFACE_FUNC getHashCode (SizeT *hashCode)=0
 Returns hash code of the object. More...
 
virtual ErrCode INTERFACE_FUNC equals (IBaseObject *other, Bool *equal) const =0
 Compares object to another object for equality. More...
 
virtual ErrCode INTERFACE_FUNC toString (CharPtr *str)=0
 Returns a string representation of the object. More...
 
- Public Member Functions inherited from IUnknown
virtual ErrCode INTERFACE_FUNC queryInterface (const IntfID &intfID, void **obj)=0
 Returns another interface which is supported by the object and increments the reference count. More...
 
virtual int INTERFACE_FUNC addRef ()=0
 Increments the reference count for an interface on an object. More...
 
virtual int INTERFACE_FUNC releaseRef ()=0
 Decrements the reference count for an interface on an object. More...
 

Member Function Documentation

◆ allow()

virtual ErrCode INTERFACE_FUNC allow ( IString groupId,
IPermissionMaskBuilder permissions 
)
pure virtual

Allow a specified set of permissions for a given group. If the inherit flag is enabled, this method will allow both the specified permissions and any permissions already allowed for the group on the parent component. Denied permissions will always overrule allowed permissions.

Parameters
groupIdThe id of a group to allow permissions for.
permissionsA set of permissions to allow for given group.

◆ assign()

virtual ErrCode INTERFACE_FUNC assign ( IString groupId,
IPermissionMaskBuilder permissions 
)
pure virtual

Strictly assign a specified set of permissions for a given group. This method allows only the specified permissions and will not inherit any permissions from the parent object for the group, even if the inherit flag is enabled.

Parameters
groupIdThe id of a group to set permissions for.
permissionsA set of permissions to allow for given group.

◆ build()

virtual ErrCode INTERFACE_FUNC build ( IPermissions **  configOut)
pure virtual

Builds the permission config object.

Parameters
configOut[out]Permission config object.

◆ deny()

virtual ErrCode INTERFACE_FUNC deny ( IString groupId,
IPermissionMaskBuilder permissions 
)
pure virtual

Deny a specified set of permissions for a given group. If the inherit flag is enabled, this method will deny both the specified permissions and any permissions already denied for the group on the parent component. Denied permissions will always overrule allowed permissions.

Parameters
groupIdThe id of a group to deny permissions for.
permissionsA set of permissions to deny for given group.

◆ extend()

virtual ErrCode INTERFACE_FUNC extend ( IPermissions config)
pure virtual

Add permissions of another permission config object and overwrite existing ones. Inherit flag will not be overwritten.

Parameters
configPermission config object.

◆ inherit()

virtual ErrCode INTERFACE_FUNC inherit ( Bool  inherit)
pure virtual

Configure component to inherit or ignore permissions from the parent object.

Parameters
inheritFlag signifying if component should inherit permissions from its parent object.