# CosTimerEvent_TimerEventHandler

### MODULE

CosTimerEvent_TimerEventHandler

### MODULE SUMMARY

This module implements the OMG CosTimerEvent::TimerEventHandler interface.

### DESCRIPTION

To get access to the record definitions for the structures use:
`-include_lib("cosTime/include/*.hrl").`

### EXPORTS

`'_get_status'(TimerEventHandler) -> Reply`

Types:

`TimerEventHandler = #objref`
`Reply = 'ESTimeSet' | 'ESTimeCleared' | 'ESTriggered' | 'ESFailedTrigger'`

This operation returns the status of the target object.

- 'ESTimeSet' - timer is set to trigger event(s).
- 'ESTimeCleared' - no time set or the timer have been reset.
- 'ESTriggered' - event has already been sent.
- 'ESFailedTrigger' - tried to, but failed, sending the event.

If the target object is of type 'TTPeriodic' the status value 'ESTriggered' is not valid.

`time_set(TimerEventHandler) -> Reply`

Types:

`TimerEventHandler = #objref`
`Reply = {boolean(), UTO}`
`UTO = #objref`

This operation returns `true` if the time has been set for an event that is yet to be triggered, `false` otherwise. The outparameter represents the current time value of the target object.

`set_timer(TimerEventHandler, TimeType, TriggerTime) -> void()`

Types:

`TimerEventHandler = #objref`
`TimeType = 'TTAbsolute' | 'TTRelative' | 'TTPeriodic'`
`TriggerTime = UTO`
`UTO = #objref`

This operation terminates any previous set trigger, and set a new trigger specified by the `TimeType` and `UTO` objects.

The relation between the UTO object and the TimeTypes are:

- 'TTAbsolute' - the UTO object must represent absolute time, i.e., number of 100 nanoseconds passed since 15 october 1582 00:00.
- 'TTRelative' - the UTO object must represent the from now until when the event should be triggered, e.g., within 30*10^7 nanoseconds.
- 'TTPeriodic' - the same as for 'TTRelative', but this option will trigger an event periodically until timer cancelled.

`cancel_timer(TimerEventHandler) -> boolean()`

Types:

`TimerEventHandler = #objref`

This operation cancel, if possible, the triggering of event(s). Returns `true` if an event is actually cancelled, `false` otherwise.

`set_data(TimerEventHandler, EventData) -> ok`

Types:

`TimerEventHandler = #objref`
`EventData = #any`

This operation changes the event data sent when triggered.

### AUTHORS

Niclas Eklund - support@erlang.ericsson.se

cosTime 1.1
Copyright © 1991-2006 Ericsson AB