Note about best practise when DeviceEvent/RawDeviceEvent is executing other controlling events

This commit is contained in:
Stefan Persson 2011-02-23 14:26:31 +00:00
parent b5534d309e
commit 72575f5474

View file

@ -210,6 +210,12 @@
* thread used by the application and some measures must be taken to synchronize
* it with the main thread.
*
* Many devices (for example motion detectors) resends their messages many times
* to ensure that they are received correctly. If a deviceeventcallback or
* rawdeviceeventcallback in turn is calling a controlling function, for example tdTurnOn,
* it may be neccessary to implement some solution to wait for the device to finish its
* resending, before executing the controlling function. See how this can be done in the python example.
*
* \subsection sec_events_callbacks Callbacks
*
* telldus-core currently implements three different callback function for
@ -227,6 +233,8 @@
* etc.
* - const char *data - For some methods this contains data. For TELLSTICK_DIM
* this hold the current value.
* - int callbackId - id of callback
* - void *context - see "Registering for callbacks" for description
*
* \subsubsection sec_events_callbacks_devicechangeevent DeviceChangeEvent
* This event is fired when the data around a device is changed. It can only be
@ -247,6 +255,8 @@
* - TELLSTICK_CHANGE_NAME - Use tdGetName() to read the new name.
* - TELLSTICK_CHANGE_PROTOCOL - Use tdGetProtocol() to read the new value.
* - TELLSTICK_CHANGE_MODEL - Use tdGetModel() to read the new value.
* - int callbackId - id of callback
* - void *context - see "Registering for callbacks" for description
*
* \subsubsection sec_events_callbacks_rawdeviceevent RawDeviceEvent
*
@ -254,6 +264,12 @@
* any preprocessing. This can be used to get events from devices not already
* configured.
*
* Parameters:
* - const char *data - raw device data
* - int controllerId - id of receiving controller, can identify the TellStick if several exists in the system
* - int callbackId - id of callback
* - void *context - see "Registering for callbacks" for description
*
* \subsection sec_events_example Example
*
* \section sec_other_languages Notes using other languages than C/C++