11 Q_INVOKABLE
explicit VFS_acl(QString vfspath, QString path,
bool defaultAllow=
true, QString superadmin=
"");
The ACL class for maintaining permission to nodes.
bool _defaultAllow
The default value if an entry is not found.
static QList< VFS_acl * > _accessControlLists
The ACLs that have been registered to the VFS.
static QMutex _accessControlLock
A mutex used to modify the _accessControlFeatures.
virtual void unsubscribe(VFS_request *r)
Perform a normal VFS_node::unsubscribe, unless the path is "browse".
virtual void read(VFS_request *r)
Read the ACL entries.
QString _vfspath
The VFS path of this node.
bool privateCheckAllowAccess(VFS_session *s, QString path, QString feature, bool &wasDefault)
Check if a request has access to a resource.
virtual void submit(VFS_request *r)
Submit features or settings to the ACL.
QString _superadmin
A single user who these ACLs will not apply to regardless of ACL file.
virtual void initialize()
Initialize the ACL by subscribing to its data file.
static bool checkAllowAccess(VFS_session *s, QString path, QString feature="")
Check if a session has access to a resource.
virtual bool isContainer()
VFS_acl nodes cannot contain children.
Q_INVOKABLE VFS_acl(QString vfspath, QString path, bool defaultAllow=true, QString superadmin="")
Construct a VFS_acl object.
virtual void receiveResponse(VFS_request *r)
A request has been completed, respond to the results.
virtual QString reportDetails()
Report data about an ACL.
virtual void subscribe(VFS_request *r)
Perform a normal VFS_node::subscribe, unless the path is "browse".
bool _initialized
Whether or not the settings file has been loaded.
static void registerACL(VFS_acl *acl)
Add an acl to the _accessControlLists list.
static QStringList fetchACLPaths()
Fetch the VFS path to each registered ACL file.
QString _path
The VFS path to an ACL settings file.
QJsonObject _accessControlList
The ACL entries.
virtual VFS_node * find(VFS_request *r)
Find a child based on a VFS_request::_path.
static void unregisterACL(VFS_acl *acl)
Remove an acl from the _accessControlLists list.
VFS_node is the base class from which all other VFS_node classes derive.
The base class for all requests between nodes.
The VFS_session object represents a single session.