mirror of
https://github.com/eclipse-openvehicle-api/openvehicle-api.git
synced 2026-04-15 09:38:16 +00:00
66 lines
2.2 KiB
Plaintext
66 lines
2.2 KiB
Plaintext
/********************************************************************************
|
|
* 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"
|
|
|
|
/**
|
|
* @brief Software Defined Vehicle framework.
|
|
*/
|
|
module sdv
|
|
{
|
|
/**
|
|
* @brief Core features.
|
|
*/
|
|
module core
|
|
{
|
|
/**
|
|
* @brief Interface to be implemented by user-defined tasks so that the core::ITaskTimer interface can periodically execute the
|
|
* task
|
|
*/
|
|
interface ITaskExecute
|
|
{
|
|
/**
|
|
* @brief Execute a task. This function is triggered by the task timer service.
|
|
*/
|
|
void Execute();
|
|
};
|
|
|
|
/**
|
|
* @brief Interface to execute tasks periodically
|
|
*/
|
|
interface ITaskTimer
|
|
{
|
|
/**
|
|
* @brief Method to execute the user-defined task periodically.
|
|
* @param[in] uiPeriod The time period in milliseconds in which the task should executed.
|
|
* @param[in] pTask Interface to the task object exposing the ITaskExecute interface. The object must be kept alive
|
|
* until the timer has been destroyed.
|
|
* @return Returns an interface to the task timer object. Use sdv::IObjectDestroy to terminate the timer.
|
|
*/
|
|
IInterfaceAccess CreateTimer(in uint32 uiPeriod, in IInterfaceAccess pTask);
|
|
};
|
|
|
|
/**
|
|
* @brief Interface to set the simulation time between 2 simulation steps.
|
|
*/
|
|
interface ITimerSimulationStep
|
|
{
|
|
/**
|
|
* @brief Method to set the time which has past from the last simulation step.
|
|
* @param[in] uiSimulationStep the time in microseconds which has past from the last simulation step.
|
|
*/
|
|
void SimulationStep(in uint64 uiSimulationStep);
|
|
};
|
|
};
|
|
};
|