1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
//File: CosTimerEvent.idl
//Part of the Time Service
#ifndef _COS_TIMER_EVENT_IDL_
#define _COS_TIMER_EVENT_IDL_
// omniORB specific pragmas to insert extra includes into the stub header.
#pragma hh #include "COS_sysdep.h"
#include <CosTime.idl>
#include <CosEventComm.idl>
#pragma prefix "omg.org"
module CosTimerEvent{
enum TimeType {
TTAbsolute,
TTRelative,
TTPeriodic
};
enum EventStatus {
ESTimeSet,
ESTimeCleared,
ESTriggered,
ESFailedTrigger
};
struct TimerEventT {
TimeBase::UtcT utc;
any event_data;
};
interface TimerEventHandler {
readonly attribute EventStatus status;
boolean time_set(
out CosTime::UTO uto);
void SetTimer(
in TimeType time_type,
in CosTime::UTO trigger_time);
boolean cancel_timer();
void set_data(
in any event_data);
};
interface TimerEventService {
TimerEventHandler register(
in CosEventComm::PushConsumer event_interface,
in any data);
void unregister(
in TimerEventHandler timer_event_handler);
CosTime::UTO event_time(
in TimerEventT timer_event);
};
};
#endif /* ifndef _COS_TIMER_EVENT_IDL_ */
|