Program Listing for File process.idl#
↰ Return to documentation for file (interfaces\process.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 process
{
typedef uint32 TProcessID;
local interface IProcessLifetimeCallback
{
void ProcessTerminated(in TProcessID tProcessID, in int64 iRetValue);
};
local interface IProcessLifetime
{
uint32 RegisterMonitor(in TProcessID tProcessID, in IInterfaceAccess pMonitor);
void UnregisterMonitor(in uint32 uiCookie);
boolean WaitForTerminate(in TProcessID tProcessID, in uint32 uiWaitMs);
};
enum EProcessRights : uint32
{
default_rights = 0,
parent_rights = 10,
reduced_rights = 20,
};
local interface IProcessControl
{
TProcessID Execute(in u8string ssModule, in sequence<u8string> seqArgs, in EProcessRights eRights);
boolean Terminate(in TProcessID tProcessID);
};
local interface IProcessInfo
{
TProcessID GetProcessID() const;
};
};
};