#include <policies.h>
Public Member Functions | |
MonitorPolicy () | |
chtype | getDataType () const |
chtype | getDbrDataType () const |
CAFENUM::DBR_TYPE | getCafeDbrType () const |
unsigned int | getNelem () const |
unsigned int | getMask () const |
bool | maskHasDBE_PROPERTY () const |
bool | maskHasDBE_VALUE () const |
bool | maskHasDBE_LOG () const |
bool | maskHasDBE_ALARM () const |
pCallback | getHandler () const |
void * | getUserArgs () const |
unsigned int | getUserArgsAsInt () const |
evid | getEventID () const |
unsigned int | getMonitorID () const |
int | getStatus () const |
unsigned int | getID () const |
void | setMask (unsigned int m) |
void | setPyHandler () |
void | setPyHandlerData () |
void | setDefaultHandler () |
void | setHandler (pCallback h) |
void | setNelem (unsigned int n) |
void | setDataType (chtype dt) |
void | setCafeDbrType (CAFENUM::DBR_TYPE cdt) |
void | setUserArgs (void *u) |
void | setStatus (int s) |
void | print () |
Static Public Member Functions | |
static void | callbackHandlerMonitor (struct event_handler_args args) |
Callback function for monitor method is invoked with a pointer to the retrieved value. | |
Private Member Functions | |
void | setEventID (evid e) |
Static Private Member Functions | |
static void | PyCallbackHandlerMonitorData (struct event_handler_args args) |
Callback function for monitor method is invoked with a pointer to the retrieved value; also fires a user supplied Python callback. | |
static void | PyCallbackHandlerMonitor (struct event_handler_args args) |
Callback function for monitor method is invoked with a pointer to the retrieved value; also fires a user supplied Python callback. | |
Private Attributes | |
chtype | dataType |
chtype | dbrDataType |
CAFENUM::DBR_TYPE | cafeDbrType |
unsigned int | nelem |
unsigned int | mask |
pCallback | handler |
void * | userArgs |
evid | eventID |
int | status |
unsigned int | id |
Static Private Attributes | |
static unsigned int | idNext = 0xfff |
Friends | |
class | Conduit |
class | Connect |
Defines policy to start a monitor on a channel upon first connection. Note that CAFE will not start a monitor on a channel if it is not connected as the datatype in such cases is unknown.
The monitor is rather placed in a monitor_in_waiting pseudo-queue and only started upon connection
MonitorPolicy::MonitorPolicy | ( | ) | [inline] |
References idNext.
void MonitorPolicy::callbackHandlerMonitor | ( | struct event_handler_args | args | ) | [static] |
Callback function for monitor method is invoked with a pointer to the retrieved value.
args | input: event handler arguments |
References __METHOD__, cafeMutex, cs, PVHolder::getAsLongLong(), long, MUTEX, SF_PULSE_ID_PV, and SF_WITH_PULSE_ID.
Referenced by setDefaultHandler().
CAFENUM::DBR_TYPE MonitorPolicy::getCafeDbrType | ( | void | ) | const [inline] |
References cafeDbrType.
chtype MonitorPolicy::getDataType | ( | ) | const [inline] |
References dataType.
Referenced by Connect::monitorStart().
chtype MonitorPolicy::getDbrDataType | ( | ) | const [inline] |
References dbrDataType.
Referenced by Conduit::monitorStart().
evid MonitorPolicy::getEventID | ( | ) | const [inline] |
References eventID.
Referenced by Connect::monitorStart().
pCallback MonitorPolicy::getHandler | ( | ) | const [inline] |
References handler.
Referenced by Conduit::monitorStart().
unsigned int MonitorPolicy::getID | ( | ) | const [inline] |
References id.
Referenced by Connect::monitorStart().
unsigned int MonitorPolicy::getMask | ( | ) | const [inline] |
References mask.
Referenced by Conduit::monitorStart().
unsigned int MonitorPolicy::getMonitorID | ( | ) | const [inline] |
References id.
Referenced by main(), and Connect::monitorStop().
unsigned int MonitorPolicy::getNelem | ( | ) | const [inline] |
References nelem.
Referenced by Connect::monitorStart(), and Conduit::monitorStart().
void* MonitorPolicy::getUserArgs | ( | ) | const [inline] |
References userArgs.
Referenced by Connect::monitorStart(), and Conduit::monitorStart().
bool MonitorPolicy::maskHasDBE_ALARM | ( | ) | const [inline] |
References mask.
bool MonitorPolicy::maskHasDBE_LOG | ( | ) | const [inline] |
References mask.
bool MonitorPolicy::maskHasDBE_PROPERTY | ( | ) | const [inline] |
References mask.
bool MonitorPolicy::maskHasDBE_VALUE | ( | ) | const [inline] |
References mask.
void MonitorPolicy::print | ( | ) | [inline] |
References dbrDataType, eventID, and nelem.
void MonitorPolicy::PyCallbackHandlerMonitor | ( | struct event_handler_args | args | ) | [static, private] |
Callback function for monitor method is invoked with a pointer to the retrieved value; also fires a user supplied Python callback.
args | input: event handler arguments |
References __METHOD__, cafeMutex, cs, long, and MUTEX.
Referenced by setPyHandler().
void MonitorPolicy::PyCallbackHandlerMonitorData | ( | struct event_handler_args | args | ) | [static, private] |
Callback function for monitor method is invoked with a pointer to the retrieved value; also fires a user supplied Python callback.
args | input: event handler arguments |
References __METHOD__, cafeMutex, cs, long, and MUTEX.
Referenced by setPyHandlerData().
void MonitorPolicy::setCafeDbrType | ( | CAFENUM::DBR_TYPE | cdt | ) | [inline] |
References cafeDbrType, dataType, CAFENUM::DBR_CTRL, CAFENUM::DBR_GR, CAFENUM::DBR_PRIMITIVE, CAFENUM::DBR_PUT, CAFENUM::DBR_STS, CAFENUM::DBR_TIME, and dbrDataType.
Referenced by main(), and Connect::monitorPulseID().
void MonitorPolicy::setDataType | ( | chtype | dt | ) | [inline] |
References cafeDbrType, dataType, CAFENUM::DBR_CTRL, CAFENUM::DBR_GR, CAFENUM::DBR_PRIMITIVE, CAFENUM::DBR_STS, CAFENUM::DBR_TIME, and dbrDataType.
Referenced by main(), Connect::monitorPulseID(), and Connect::monitorStart().
void MonitorPolicy::setDefaultHandler | ( | ) | [inline] |
References callbackHandlerMonitor(), and handler.
void MonitorPolicy::setEventID | ( | evid | e | ) | [inline, private] |
References eventID.
Referenced by Conduit::monitorStart().
void MonitorPolicy::setHandler | ( | pCallback | h | ) | [inline] |
References handler.
Referenced by main(), and Connect::monitorPulseID().
void MonitorPolicy::setMask | ( | unsigned int | m | ) | [inline] |
References mask.
Referenced by main(), and Connect::monitorPulseID().
void MonitorPolicy::setNelem | ( | unsigned int | n | ) | [inline] |
References nelem.
Referenced by Connect::monitorStart().
void MonitorPolicy::setPyHandler | ( | ) | [inline] |
References handler, and PyCallbackHandlerMonitor().
void MonitorPolicy::setPyHandlerData | ( | ) | [inline] |
References handler, and PyCallbackHandlerMonitorData().
void MonitorPolicy::setStatus | ( | int | s | ) | [inline] |
References status.
Referenced by Connect::monitorStart().
void MonitorPolicy::setUserArgs | ( | void * | u | ) | [inline] |
References userArgs.
Referenced by main(), Connect::monitorPulseID(), and Connect::monitorStart().
friend class Conduit [friend] |
friend class Connect [friend] |
CAFENUM::DBR_TYPE MonitorPolicy::cafeDbrType [private] |
Referenced by getCafeDbrType(), setCafeDbrType(), and setDataType().
chtype MonitorPolicy::dataType [private] |
Referenced by getDataType(), setCafeDbrType(), and setDataType().
chtype MonitorPolicy::dbrDataType [private] |
Referenced by getDbrDataType(), print(), setCafeDbrType(), and setDataType().
evid MonitorPolicy::eventID [private] |
Referenced by getEventID(), print(), and setEventID().
pCallback MonitorPolicy::handler [private] |
Referenced by getHandler(), setDefaultHandler(), setHandler(), setPyHandler(), and setPyHandlerData().
unsigned int MonitorPolicy::id [private] |
Referenced by getID(), and getMonitorID().
unsigned int MonitorPolicy::idNext = 0xfff [static, private] |
Referenced by MonitorPolicy(), and Connect::terminate().
unsigned int MonitorPolicy::mask [private] |
Referenced by getMask(), maskHasDBE_ALARM(), maskHasDBE_LOG(), maskHasDBE_PROPERTY(), maskHasDBE_VALUE(), and setMask().
unsigned int MonitorPolicy::nelem [private] |
Referenced by getNelem(), print(), and setNelem().
int MonitorPolicy::status [private] |
Referenced by getStatus(), and setStatus().
void* MonitorPolicy::userArgs [private] |
Referenced by getUserArgs(), getUserArgsAsInt(), and setUserArgs().