Program Listing for File dispatch.idl#
↰ Return to documentation for file (interfaces\dispatch.idl)
#include "core.idl"
module sdv
{
module core
{
local interface ISignalTransmission
{
enum ETxTriggerBehavior : uint32
{
none = 0,
spontaneous = 1,
periodic_if_active = 2,
};
IInterfaceAccess CreateTxTrigger(in uint32 uiCycleTime, in uint32 uiDelayTime, in uint32 uiBehaviorFlags,
in IInterfaceAccess pTriggerCallback);
IInterfaceAccess RegisterTxSignal(in u8string ssSignalName, in any anyDefVal);
IInterfaceAccess RegisterRxSignal(in u8string ssSignalName);
};
interface ITxTrigger
{
boolean AddSignal(in u8string ssSignalName);
void RemoveSignal(in u8string ssSignalName);
};
interface ITxTriggerCallback
{
void Execute();
};
enum ESignalDirection
{
sigdir_tx,
sigdir_rx,
};
struct SSignalRegistration
{
u8string ssName;
ESignalDirection eType;
};
local interface ISignalAccess
{
IInterfaceAccess RequestSignalPublisher(in u8string ssSignalName);
IInterfaceAccess AddSignalSubscription(in u8string ssSignalName, in IInterfaceAccess pSubscriber);
sequence<SSignalRegistration> GetRegisteredSignals() const;
};
local interface IDispatchTransaction
{
IInterfaceAccess CreateTransaction();
};
local interface ISignalWrite
{
void Write(in any anyVal, in IInterfaceAccess pTransaction);
};
local interface ISignalRead
{
any Read(in IInterfaceAccess pTransaction) const;
};
local interface ISignalReceiveEvent
{
void Receive(in any anyVal);
};
}; // core module
}; // sdv module