Program Listing for File permission.idl#

Return to documentation for file (interfaces\permission.idl)

/********************************************************************************
 * Copyright (c) 2025-2026 ZF Friedrichshafen AG
 *
 * This program and the accompanying materials are made available under the
 * terms of the Apache License Version 2.0 which is available at
 * https://www.apache.org/licenses/LICENSE-2.0
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Contributors:
 *   Erik Verhoeven - initial API and implementation
 ********************************************************************************/

#include "core.idl"

module sdv
{
    module core
    {
        typedef uint64 TPermissionID;

        typedef uint64 TPermissionTransferID;

        enum EAccessPermission : int32
        {
            not_set           = -1001,
            restricted_access = -1000,
            remote_access     = -200,
            local_access      = -100,
            full_access       = 0,
        };

        interface IPermissionControl
        {
            TPermissionID RestrictAccessPermission(in EAccessPermission ePermission);

            boolean ReleaseAccessPermission(in TPermissionID tPermissionID);

            TPermissionTransferID TransferCurrentPermission();

            TPermissionID SetAccessPermission(in TPermissionTransferID tTransferID);

            EAccessPermission GetCurrentPermission() const;
        };
    }; // module core
}; // module sdv