openDAQ
Open data acquisition platform
IPermissionManager Struct Referenceabstract

A class which is responsible for managing permissions on an object level. Given a user's group, it is possible to restrict or allow read, write and execute permissions for each object. It is also possible to specify if permissions are inherited from parent object. More...

+ Inheritance diagram for IPermissionManager:
+ Collaboration diagram for IPermissionManager:

Detailed Description

A class which is responsible for managing permissions on an object level. Given a user's group, it is possible to restrict or allow read, write and execute permissions for each object. It is also possible to specify if permissions are inherited from parent object.

Public Member Functions

virtual ErrCode INTERFACE_FUNC setPermissions (IPermissions *permissions)=0
 Set object permission configuration. More...
 
virtual ErrCode INTERFACE_FUNC isAuthorized (IUser *user, Permission permission, Bool *authorizedOut)=0
 Check if user has a given permission on an object of the permission manager. 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

◆ isAuthorized()

virtual ErrCode INTERFACE_FUNC isAuthorized ( IUser user,
Permission  permission,
Bool *  authorizedOut 
)
pure virtual

Check if user has a given permission on an object of the permission manager.

Parameters
userA reference to the user.
permissionA permission to test.
[out]authorizedOutReturns true if user is authorized and false otherwise.

◆ setPermissions()

virtual ErrCode INTERFACE_FUNC setPermissions ( IPermissions permissions)
pure virtual

Set object permission configuration.

Parameters
permissionsPermissions configuration object.