Program Listing for File app.idl#
↰ Return to documentation for file (interfaces\app.idl
)
#include "core.idl"
#include "toml.idl"
module sdv
{
module app
{
enum EAppOperationState
{
not_started = 0,
starting = 1,
started = 2,
initializing = 10,
initialized = 12,
configuring = 20,
running = 30,
shutting_down = 90,
};
struct SAppEvent
{
uint32 uiEventID;
uint32 uiInfo;
};
const uint32 EVENT_OPERATION_STATE_CHANGED = 1;
const uint32 EVENT_RUNNING_LOOP = 8;
local interface IAppEvent
{
void ProcessEvent(inout SAppEvent sEvent);
};
enum EAppContext : uint32
{
no_context = 0,
standalone = 10,
external = 20,
isolated = 30,
main = 100,
essential = 5,
maintenance = 80,
};
local interface IAppContext
{
EAppContext GetContextType() const;
uint32 GetInstanceID() const;
uint32 GetRetries() const;
};
local interface IAppControl
{
boolean Startup(in u8string ssConfig, in IInterfaceAccess pEventHandler)
raises(XAccessDenied, toml::XTOMLParseException);
void RunLoop() raises(XAccessDenied, XInvalidState);
void Shutdown(in boolean bForce) raises(XAccessDenied, XInvalidState, XTimeout);
};
interface IAppOperation
{
EAppOperationState GetOperationState() const;
void SetConfigMode() raises(XAccessDenied, XInvalidState);
void SetRunningMode() raises(XAccessDenied, XInvalidState);
};
interface IAppShutdownRequest
{
void RequestShutdown() raises(XAccessDenied, XInvalidState);
};
}; // module app
}; // module sdv