struct CCL::ISystemPermissionProvider

Overview

Interface to handle certain system permissions. More…

#include <isystemshell.h>

struct ISystemPermissionProvider: public CCL::IUnknown
{
    // methods

    virtual PermissionState CCL_API getPermissionState (StringID permissionId) = 0;
    virtual IAsyncOperation*CCL_API requestPermission (StringID permissionId) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Interface to handle certain system permissions.

Methods

virtual PermissionState CCL_API getPermissionState (StringID permissionId) = 0

Get current state of a permission (does not show any UI).

virtual IAsyncOperation*CCL_API requestPermission (StringID permissionId) = 0

Request a permission, result is the final state (kPermissionGranted/kPermissionDenied).

Completes immediately if no user consent is needed.

When implementing, providers must return nullptr for ids they don’t handle.