Files
cycafe/PyCafe.pxd
2017-11-14 09:26:02 +01:00

1127 lines
34 KiB
Cython

# file: PyCafe.pxd
#from cpython.ref cimport PyObject
from libcpp.string cimport string
from libcpp.vector cimport vector
from libcpp.map cimport map
from libcpp.pair cimport pair
cimport cython
#import numpy as np
cimport numpy as cnp
cdef extern from "Python.h":
ctypedef enum PyGILState_STATE:
PyGILState_LOCKED=0
PyGILState_UNLOCKED=1
void PyEval_InitThreads()
void Py_Initialize()
PyGILState_STATE PyGILState_Ensure()
void PyGILState_Release(PyGILState_STATE)
cdef extern from "boost/multi_index_container.hpp" namespace "boost":
cdef cppclass multi_index_container:
pass
cdef extern from "boost/smart_ptr/shared_ptr.hpp" namespace "boost":
cdef cppclass shared_ptr[T]:
shared_ptr()
shared_ptr(T *p)
shared_ptr(const shared_ptr&)
long use_count()
T operator*()
cdef extern from "<map>" namespace "std":
cdef cppclass multimap[T, U]:
cppclass iterator:
pair[T, U]& operator*() nogil
iterator operator++() nogil
iterator operator--() nogil
bint operator==(iterator) nogil
bint operator!=(iterator) nogil
multimap() nogil except +
U& operator[](T&) nogil
iterator begin() nogil
iterator end() nogil
pair[iterator, bint] insert(pair[T, U]) nogil
iterator find(T&) nogil
cdef extern from "cadef.h":
ctypedef long chtype
ctypedef oldSubscription * evid
cdef struct oldSubscription:
pass
cdef struct oldChannelNotify:
pass
cdef struct event_handler_args:
oldChannelNotify chid
long type
int count
const void *dbr
int status
void * usr
pass
cdef:
int ca_flush_io()
int ca_poll()
cdef extern from "caeventmask.h":
#ctypedef enum DBE_TYPE:
# DBE_VALUE=1
# DBE_LOG=2
# DBE_ARCHIVE=DBE_LOG
# DBE_ALARM=4
# DBE_PROPERTY=8
unsigned int DBE_VALUE
unsigned int DBE_LOG
unsigned int DBE_ARCHIVE
unsigned int DBE_ALARM
unsigned int DBE_PROPERTY
cdef extern from "time.h":
cdef struct tm:
int tm_sec #seconds after the minute 0-61*
int tm_min #minutes after the hour 0-59
int tm_hour #hours since midnight 0-23
int tm_mday #day of the month 1-31
int tm_mon #months since January 0-11
int tm_year #years since 1900
int tm_wday #days since Sunday 0-6
int tm_yday #days since January 1 0-365
int tm_isdst #Daylight Saving Time flag
cdef extern from "epicsTime.h":
cdef struct epicsTimeStamp:
unsigned int secPastEpoch # seconds since 0000 Jan 1, 1990
unsigned int nsec
cdef cppclass epicsTime:
epicsTime (const epicsTimeStamp &)
cdef struct local_tm_nano_sec:
tm ansi_tm
unsigned long nSec
cdef extern from "db_access.h":
unsigned int DBR_STRING #returns a NULL terminated string
unsigned int DBR_SHORT #returns an unsigned short
unsigned int DBR_INT #returns an unsigned short
unsigned int DBR_FLOAT #returns an IEEE floating point value
unsigned int DBR_ENUM #returns an unsigned short which is the enum item
unsigned int DBR_CHAR #returns an unsigned char
unsigned int DBR_LONG #returns an unsigned long
unsigned int DBR_DOUBLE #returns a double precision floating point number
unsigned int DBR_STS_STRING #returns a string status structure (dbr_sts_string)
unsigned int DBR_STS_SHORT #returns a short status structure (dbr_sts_short)
unsigned int DBR_STS_INT #returns a short status structure (dbr_sts_int)
unsigned int DBR_STS_FLOAT #returns a float status structure (dbr_sts_float)
unsigned int DBR_STS_ENUM #returns an enum status structure (dbr_sts_enum)
unsigned int DBR_STS_CHAR #returns a char status structure (dbr_sts_char)
unsigned int DBR_STS_LONG #returns a long status structure (dbr_sts_long)
unsigned int DBR_STS_DOUBLE #returns a double status structure (dbr_sts_double)
unsigned int DBR_TIME_STRING #returns a string time structure (dbr_time_string)
unsigned int DBR_TIME_SHORT #returns a short time structure (dbr_time_short)
unsigned int DBR_TIME_INT #returns a short time structure (dbr_time_short)
unsigned int DBR_TIME_FLOAT #returns a float time structure (dbr_time_float)
unsigned int DBR_TIME_ENUM #returns an enum time structure (dbr_time_enum)
unsigned int DBR_TIME_CHAR #returns a char time structure (dbr_time_char)
unsigned int DBR_TIME_LONG #returns a long time structure (dbr_time_long)
unsigned int DBR_TIME_DOUBLE #returns a double time structure (dbr_time_double)
unsigned int DBR_GR_STRING #returns a graphic string structure (dbr_gr_string)
unsigned int DBR_GR_SHORT #returns a graphic short structure (dbr_gr_short)
unsigned int DBR_GR_INT #returns a graphic short structure (dbr_gr_int)
unsigned int DBR_GR_FLOAT #returns a graphic float structure (dbr_gr_float)
unsigned int DBR_GR_ENUM #returns a graphic enum structure (dbr_gr_enum)
unsigned int DBR_GR_CHAR #returns a graphic char structure (dbr_gr_char)
unsigned int DBR_GR_LONG #returns a graphic long structure (dbr_gr_long)
unsigned int DBR_GR_DOUBLE #returns a graphic double structure (dbr_gr_double)
unsigned int DBR_CTRL_STRING #returns a control string structure (dbr_ctrl_int)
unsigned int DBR_CTRL_SHORT #returns a control short structure (dbr_ctrl_short)
unsigned int DBR_CTRL_INT #returns a control short structure (dbr_ctrl_int)
unsigned int DBR_CTRL_FLOAT #returns a control float structure (dbr_ctrl_float)
unsigned int DBR_CTRL_ENUM #returns a control enum structure (dbr_ctrl_enum)
unsigned int DBR_CTRL_CHAR #returns a control char structure (dbr_ctrl_char)
unsigned int DBR_CTRL_LONG #returns a control long structure (dbr_ctrl_long)
unsigned int DBR_CTRL_DOUBLE #returns a control double structure (dbr_ctrl_double)
ctypedef char[40] dbr_string_t
ctypedef short dbr_short_t
ctypedef float dbr_float_t
ctypedef unsigned short dbr_enum_t
ctypedef unsigned char dbr_char_t
ctypedef int dbr_long_t
ctypedef double dbr_double_t
cdef struct dbr_sts_string:
pass
cdef struct dbr_sts_short:
pass
cdef struct dbr_sts_int:
pass
cdef struct dbr_sts_float:
dbr_float_t value
dbr_short_t status
pass
cdef struct dbr_sts_enum:
pass
cdef struct dbr_sts_char:
pass
cdef struct dbr_sts_long:
pass
cdef struct dbr_sts_double:
pass
cdef struct dbr_time_string:
pass
cdef struct dbr_time_short:
pass
cdef struct dbr_time_int:
pass
cdef struct dbr_time_float:
dbr_float_t value
dbr_short_t status
dbr_short_t severity
epicsTimeStamp stamp
pass
cdef struct dbr_time_enum:
pass
cdef struct dbr_time_char:
pass
cdef struct dbr_time_long:
pass
cdef struct dbr_time_double:
pass
cdef struct dbr_gr_string:
pass
cdef struct dbr_gr_short:
pass
cdef struct dbr_gr_int:
pass
cdef struct dbr_gr_float:
dbr_float_t value
dbr_short_t status
pass
cdef struct dbr_gr_enum:
pass
cdef struct dbr_gr_char:
pass
cdef struct dbr_gr_long:
pass
cdef struct dbr_gr_double:
pass
cdef struct dbr_ctrl_string:
pass
cdef struct dbr_ctrl_short:
pass
cdef struct dbr_ctrl_int:
pass
cdef struct dbr_ctrl_float:
dbr_float_t value
dbr_short_t status
pass
cdef struct dbr_ctrl_enum:
pass
cdef struct dbr_ctrl_char:
pass
cdef struct dbr_ctrl_long:
pass
cdef struct dbr_ctrl_double:
pass
cdef extern from "caerr.h":
unsigned int ECA_NORMAL
unsigned int ECA_ALLOCMEM
unsigned int ECA_TOLARGE
unsigned int ECA_TIMEOUT
unsigned int ECA_BADTYPE
unsigned int ECA_INTERNAL
unsigned int ECA_GETFAIL
unsigned int ECA_PUTFAIL
unsigned int ECA_BADCOUNT
unsigned int ECA_BADSTR
unsigned int ECA_DISCONN
unsigned int ECA_DBLCHNL
unsigned int ECA_EVDISALLOW
unsigned int ECA_BADMONID
unsigned int ECA_BADMASK
unsigned int ECA_IODONE
unsigned int ECA_IOINPROGRESS
unsigned int ECA_BADSYNCGRP
unsigned int ECA_PUTCBINPROG
unsigned int ECA_NORDACCESS
unsigned int ECA_NOWTACCESS
unsigned int ECA_ANACHRONISM
unsigned int ECA_NOSEARCHADDR
unsigned int ECA_NOCONVERT
unsigned int ECA_BADCHID
unsigned int ECA_BADFUNCPTR
unsigned int ECA_ISATTACHED
unsigned int ECA_UNAVAILINSERV
unsigned int ECA_CHANDESTROY
unsigned int ECA_BADPRIORITY
unsigned int ECA_NOTTHREADED
unsigned int ECA_16KARRAYCLIENT
unsigned int ECA_CONNSEQTMO
unsigned int ECA_UNRESPTMO
cdef extern from "caopCodes.h":
cdef cppclass CAOPCodes:
pass
string message(int)
int enumIs(string)
show()
cdef extern from "defines.h":
const short PVNAME_SIZE
cdef extern from "cafeDataType.h":
ctypedef enum CAFE_DATATYPE:
CAFE_TYPENOTCONN =-1
CAFE_STRING = 0
CAFE_SHORT = 1
CAFE_INT = CAFE_SHORT
CAFE_FLOAT = 2
CAFE_ENUM = 3
CAFE_USHORT = CAFE_ENUM
CAFE_CHAR = 4
CAFE_LONG = 5
CAFE_DOUBLE = 6
CAFE_NO_ACCESS = 7
CAFE_INVALID_DATATYPE = 8
CAFE_NOT_REQUESTED = 100
CAFE_NOT_SHOWN = 101
ctypedef union CAFE_DATATYPE_UNION:
dbr_string_t str
dbr_short_t s
dbr_float_t f
dbr_enum_t us #unsigned short us;
dbr_char_t ch #unsigned char ch;
dbr_long_t l #int l;
dbr_double_t d
ctypedef CAFE_DATATYPE_UNION * CAFE_DATATYPE_UNION_SEQ
cdef cppclass CAFEDataTypeCode:
pass
string message(int)
int enumIs(string)
show()
cdef extern from "cafeEnum.h":
ctypedef enum DBR_TYPE:
DBR_PRIMITIVE
DBR_PLAIN=DBR_PRIMITIVE
DBR_STS
DBR_TIME
DBR_GR
DBR_CTRL
DBR_PUT # DBR_PUT_ACKT and DBR_PUT_ACKS Write only - used from global alarm acknowledge.
DBR_STSACK # is DBR_STSACK_STRING
DBR_CLASS # is DBR_CLASS_NAME,
DBR_NONE # should not occur, but used internally within cafeVectors.h
ctypedef enum ChannelFlushSendBufferPolicyKind:
WITH_FLUSH_IO
WITH_PEND_IO
WITH_PEND_EVENT
WITH_POLL
ctypedef enum ChannelWhenToFlushSendBufferPolicyKind:
FLUSH_AUTOMATIC=0
FLUSH_NOW=FLUSH_AUTOMATIC
FLUSH_AFTER_EACH_CHANNEL_CREATION=FLUSH_NOW
FLUSH_AFTER_EACH_CHANNEL_SUBSCRIPTION=FLUSH_NOW
FLUSH_AFTER_EACH_MESSAGE=FLUSH_NOW
FLUSH_AFTER_EACH_GROUP_CREATION=FLUSH_NOW
FLUSH_DESIGNATED_TO_CLIENT
ctypedef enum ChannelGetCacheWaitPolicyKind:
GET_CACHE_NO_CHECK=0
GET_CACHE_NO_WAIT
GET_CACHE_NOW =GET_CACHE_NO_WAIT
GET_CACHE_WAIT
ctypedef enum ChannelGetActionWhenMonitorPolicyKind:
GET_FROM_CACHE
GET_FROM_IOC
ctypedef enum ChannelRequestPolicyKind:
WITHOUT_CALLBACK
WITH_CALLBACK_DEFAULT
WITH_CALLBACK_USER_SUPPLIED
ctypedef enum ChannelRequestDataTypePolicyKind:
NATIVE_DATATYPE
LOWEST_DATATYPE # The smaller in byte size of type requested and native datatype
ctypedef enum ChannelWaitForResponsePolicyKind:
BLOCKING=0
WAIT=BLOCKING
NON_BLOCKING=1
NO_WAIT=NON_BLOCKING
ctypedef enum StatusMessageKind:
NO_MESSAGE
PRE_REQUEST
FROM_REQUEST
FROM_PEND
FROM_CALLBACK
FROM_MESSAGE
ctypedef enum CallbackProgressKind:
NOT_INITIATED
PENDING
COMPLETE
cdef extern from "exceptions.h":
ctypedef struct CAFEException_pv:
char pv [60] #PVNAME_SIZE
char pvAlias[60] #PVNAME_SIZE
unsigned int handle
CAFE_DATATYPE dataTypeNative
const char * dataTypeNativeText
int statusCode
const char * statusCodeText
const char * statusMessage
const char * source
unsigned int ln
pass
ctypedef struct CAFEException_group:
char groupName [60] #[PVNAME_SIZE];
unsigned int groupHandle
int statusCode
const char * statusCodeText
const char * statusMessage
const char * source
unsigned int ln
pass
cdef cppclass CAFEException_open:
CAFEException_pv pvEx
pass
const char* what()
cdef cppclass CAFEException_groupOpen:
CAFEException_group groupEx
pass
const char* what()
cdef extern from "channelRegalia.h":
cdef cppclass ChannelRegalia:
pass
oldChannelNotify * getChannelID()
bint getConnectFlag()
const char * getHostName()
string getHostNameAsString()
int getDataType()
const char * getClassName()
string getClassNameAsString()
unsigned short getAccessRead()
unsigned short getAccessWrite()
unsigned short getReadAccess()
unsigned short getWriteAccess()
unsigned int getNelem()
int getConnectionState()
int getCafeConnectionState()
string getConnectionStateAsString()
string getCafeConnectionStateAsString()
cdef extern from "handleHelper.h":
ctypedef struct etsDate:
int year
int mon
int day
int hour
int min
int sec
unsigned long nsec
pass
ctypedef struct etsNorm:
unsigned int secPastEpoch
unsigned int nsec
pass
cdef cppclass HandleHelper:
etsDate _etsDate
etsNorm _etsNorm
HandleHolder()
int checkConsistency(unsigned int)
string getStringFromEnum(unsigned int, unsigned short)
short getEnumFromString(unsigned int, string)
const char * getPVFromHandle (unsigned int)
unsigned int getHandleFromPV(const char *)
unsigned int getGroupHandleFromGroupName(const char *)
unsigned int getHandleFromPVWithinGroup(const char *, unsigned int)
vector[unsigned int] getHandlesFromWithinGroupV(unsigned int)
int getChannelRegalia(unsigned int, ChannelRegalia)
unsigned int getUsrArgsAsUInt(unsigned int)
chtype getDataTypeCB(unsigned int)
chtype getDbrDataTypeCB(unsigned int)
DBR_TYPE getCafeDbrTypeCB(unsigned int)
int getStatus (unsigned int)
int getAlarmStatusSeverity(unsigned int, short[2])
int [] getTimeStamp(unsigned int, epicsTimeStamp &ts)
unsigned int setCafeDbrTypeV(vector[unsigned int], DBR_TYPE)
unsigned int setCafeDbrType(unsigned int, DBR_TYPE)
unsigned int getCafeDbrType(unsigned int, DBR_TYPE &)
unsigned int setNelem(unsigned int, unsigned int)
unsigned int setNelemToNative(unsigned int)
unsigned int setNelemToRetrieveFromCache (unsigned int, unsigned int)
unsigned int setNelemToRetrieveFromCtrlCache (unsigned int, unsigned int)
unsigned int getNelemToRetrieveFromCache (unsigned int)
unsigned int getNelemToRetrieveFromCtrlCache (unsigned int)
unsigned int setNelemCtrl (unsigned int, unsigned int);
unsigned int getNelemRequestCtrl (unsigned);
unsigned int getNelemClientCtrl (unsigned);
unsigned int getNelemClient (unsigned int)
unsigned int getNelemNative (unsigned int)
unsigned int getNelemRequest (unsigned int)
unsigned int getNmonitor (unsigned int)
vector[unsigned int] getMonitorIDs(unsigned int)
int getDataTypeNative (unsigned int, long)
int getDataTypeRequest(unsigned int, long)
etsNorm getEpicsTimeStampAsUInt32(unsigned int)
etsDate getEpicsTimeStampAsDate(unsigned int)
int printHandlesV(vector[unsigned int])
unsigned int getDisconnectedHandles (vector[unsigned int] &, vector[string] &)
unsigned int getHandles (vector[unsigned int] &, vector[string] &)
unsigned int getHandleStates (vector[unsigned int] &, vector[string] &, vector[unsigned short] &)
int getMonitorPolicyVector(unsigned int, vector[MonitorPolicy] &);
cdef extern from "policies.h":
ctypedef void (*pCallback) (event_handler_args)
cdef cppclass MonitorPolicy:
MonitorPolicy()
unsigned int getMonitorID()
void setMask(unsigned int)
void setDataType(chtype)
void setCafeDbrType(DBR_TYPE)
void setHandler(pCallback)
void setDefaultHandler()
void setPyHandler()
void setPyHandlerData()
void setUserArgs(void *)
unsigned int getMask()
unsigned int getNelem()
unsigned int getUserArgs()
DBR_TYPE getCafeDbrType()
unsigned int getDataType()
unsigned int getDbrDataType()
bint maskHasDBE_PROPERTY()
bint maskHasDBE_VALUE()
bint maskHasDBE_LOG()
bint maskHasDBE_ALARM()
cdef cppclass ChannelOpenPolicy:
ChannelOpenPolicy()
void setWhenToFlushSendBuffer(ChannelWhenToFlushSendBufferPolicyKind)
ChannelWhenToFlushSendBufferPolicyKind getWhenToFlushSendBuffer()
void setFlushSendBufferKind(ChannelFlushSendBufferPolicyKind)
void flushSendBufferNow()
double setTimeout(double)
double getTimeout()
double setDefaultTimeout(double)
double getDefaultTimeout()
double setTimeoutToDefault()
cdef cppclass ChannelRequestPolicy:
ChannelRequestPolicy()
ChannelWhenToFlushSendBufferPolicyKind getWhenToFlushSendBuffer()
ChannelWaitForResponsePolicyKind getWaitKind()
ChannelRequestPolicyKind getMethodKind()
pCallback getHandler()
int getCallbackStatus()
void setHandler(pCallback h)
void setPyHandlerGet()
void setPyHandlerPut()
void setMethodKind(ChannelRequestPolicyKind)
void setWhenToFlushSendBuffer(ChannelWhenToFlushSendBufferPolicyKind)
void setWaitKind(ChannelWaitForResponsePolicyKind)
void setCallbackStatus (int)
void setPolicy(ChannelWhenToFlushSendBufferPolicyKind,ChannelWaitForResponsePolicyKind,ChannelRequestPolicyKind)
cdef cppclass ChannelRequestDataTypePolicy:
ChannelRequestDataTypePolicy()
ChannelRequestDataTypePolicy(ChannelRequestDataTypePolicyKind)
ChannelRequestDataTypePolicyKind requestKind
void setRequestKind(ChannelRequestDataTypePolicyKind)
ChannelRequestDataTypePolicyKind getRequestKind()
cdef cppclass ChannelTimeoutPolicy:
ChannelTimeoutPolicy()
bint getSelfGoverningTimeout()
void setSelfGoverningTimeout(bool)
double getTimeout()
double getDeltaTimeout()
unsigned short getNtries()
double setTimeout(double)
double setDeltaTimeout(double)
unsigned short setNtries(unsigned short)
cdef cppclass ChannelGetCacheWaitPolicy:
ChannelGetCacheWaitPolicy()
ChannelGetCacheWaitPolicy(ChannelGetCacheWaitPolicyKind)
ChannelGetCacheWaitPolicyKind whenKind
void setWaitKind(ChannelGetCacheWaitPolicyKind)
ChannelGetCacheWaitPolicyKind getWhenKind()
cdef cppclass ChannelGetActionWhenMonitorPolicy:
ChannelGetActionWhenMonitorPolicy()
ChannelGetActionWhenMonitorPolicy(ChannelGetActionWhenMonitorPolicyKind)
ChannelGetActionWhenMonitorPolicyKind actionKind
void setActionKind(ChannelGetActionWhenMonitorPolicyKind)
ChannelGetActionWhenMonitorPolicyKind getActionKind()
cdef extern from "policyHelper.h":
cdef cppclass PolicyHelper:
int getChannelGetCacheWaitPolicy (unsigned int, ChannelGetCacheWaitPolicy &)
int setChannelGetCacheWaitPolicy (unsigned int, ChannelGetCacheWaitPolicy)
int setChannelGetCacheWaitPolicyAllHandles (ChannelGetCacheWaitPolicy)
int getChannelGetActionWhenMonitorPolicy(unsigned int, ChannelGetActionWhenMonitorPolicy &)
int setChannelGetActionWhenMonitorPolicy(unsigned int, ChannelGetActionWhenMonitorPolicy )
int setChannelGetActionWhenMonitorPolicyAllHandles (ChannelGetActionWhenMonitorPolicy)
int getChannelRequestDataTypePolicy(unsigned int, ChannelRequestDataTypePolicy &)
int setChannelRequestDataTypePolicy(unsigned int, ChannelRequestDataTypePolicy)
int setChannelRequestDataTypePolicyAllHandles(ChannelRequestDataTypePolicy)
int getChannelRequestPolicyGet (unsigned int , ChannelRequestPolicy &)
int setChannelRequestPolicyGet (unsigned int , ChannelRequestPolicy)
int setChannelRequestPolicyGetAllHandles (ChannelRequestPolicy)
int getChannelRequestPolicyPut (unsigned int, ChannelRequestPolicy &)
int setChannelRequestPolicyPut (unsigned int , ChannelRequestPolicy)
int setChannelRequestPolicyPutAllHandles (ChannelRequestPolicy)
int getChannelTimeoutPolicyGet (unsigned int, ChannelTimeoutPolicy &)
int setChannelTimeoutPolicyGet (unsigned int, ChannelTimeoutPolicy)
int getChannelTimeoutPolicyPut (unsigned int, ChannelTimeoutPolicy &)
int setChannelTimeoutPolicyPut (unsigned int, ChannelTimeoutPolicy)
int getTimeout(unsigned int, double &)
int getTimeout(unsigned int, double &, double &)
int getTimeoutMin(double &, double &)
int getTimeoutMax(double &, double &)
int setTimeout(unsigned int, double)
int setTimeout(unsigned int, double, double)
int setTimeout(double)
int setTimeout(double, double)
int setSelfGoverningTimeout(bint)
int getSGTimeout (unsigned int, double &, double &)
int getSGTimeout (unsigned int, double &)
int getSGTimeoutMin (double, double &)
int getSGTimeoutMax (double, double &)
int setSGTimeout (unsigned int, double, double)
int setSGTimeout (unsigned int, double)
int setSGTimeout (double, double)
int setSGTimeout (double)
int setSGSelfGoverningTimeout(bint)
#cdef extern from "hashConduit.h":
# ctypedef multi_index_container<> cafeConduit_set
# ctypedef cafeConduit_set cafeConduit_set_by_handle
# ctypedef multi_index_container.iterator it_handle
cdef extern from "statusCodes.h":
cdef int ICAFE_STATUS_BASE = 600
cdef int ICAFE_STATUS_CS = ICAFE_STATUS_BASE
cdef int ICAFE_STATUS_CFT = 700
cdef int ICAFE_STATUS_CA_OP = 800
cdef int ICAFE_STATUS_ERROR = 1000
cdef int ICAFE_FILE_ERROR = 1100
cdef int ICAFE_SUCCESS = ECA_NORMAL
cdef int ICAFE_NORMAL = ECA_NORMAL
ctypedef enum CAFE_CS_STATE:
ICAFE_CS_NEVER_CONN=600
ICAFE_CS_PREV_CONN
ICAFE_CS_CONN
ICAFE_CS_CLOSED
ICAFE_CS_DISCONN
ICAFE_CS_UNKNOWN
ctypedef enum CAFE_CFT_STATE:
ICAFE_TYPENOTCONN=700
ICAFE_RULE_FALSE
ICAFE_BADCOUNT
ICAFE_CALLBACK_NOT_YET_INVOKED
ICAFE_WAITING_FOR_PREV_CALLBACK
ICAFE_CACHE_EMPTY
ICAFE_CHANNEL_BLOCKING_POLICY_CONFLICT
ICAFE_MONITOR_DELAYED_AS_CONN_DOWN
ICAFE_HAS_MONITOR_GET_DONE_FROM_CACHE
ICAFE_SET_AND_GET_MISMATCH
ctypedef enum CAFE_CC_STATE:
ICAFE_CA_OP_GET=800
ICAFE_CA_OP_PUT
ICAFE_CA_OP_CREATE_CHANNEL
ICAFE_CA_OP_ADD_EVENT
ICAFE_CA_OP_CLEAR_EVENT
ICAFE_CA_OP_OTHER
ICAFE_CA_OP_CONN_UP
ICAFE_CA_OP_CONN_DOWN
ctypedef enum CAFE_FILE_ERROR:
ECAFE_LOAD_COLLECTION=1100
ECAFE_LOAD_GROUP
ctypedef enum CAFE_ERROR_STATE:
ECAFE_NODATA=1000
ECAFE_INVALID_TYPE
ECAFE_BADCOUNT
ECAFE_BADSTR
ECAFE_BADTYPE
ECAFE_NO_CONVERT
ECAFE_NULLCONTEXT
ECAFE_NULLCHID
ECAFE_NULLEVID
ECAFE_UNKNOWN_COLLECTION
ECAFE_EMPTY_COLLECTION
ECAFE_COLLECTION_PREV_DEF
ECAFE_COLLECTION_INVALID_MEMBER
ECAFE_RULE_FALSE
ECAFE_UNKNOWN_GROUP
ECAFE_EMPTY_GROUP
ECAFE_GROUP_PREV_DEF
ECAFE_INVALID_HANDLE
ECAFE_INVALID_GROUP_HANDLE
ECAFE_NORDACCESS
ECAFE_NOWTACCESS
ECAFE_TIMEOUT
ECAFE_CANNOT_OPEN_FILE
ECAFE_INVALID_SWITCH_CASE
ECAFE_PVALIAS_PREV_DEF
ECAFE_PVALIAS_INVALID
ECAFE_PVNAME_PREV_DEF_AS_PVALIAS
ECAFE_DEVICE_ATTRIB_NOT_FOUND
ECAFE_HASH_UNIQUEID_EXISTS
ECAFE_WRONG_CA_CONTEXT
ECAFE_INVALID_CAFENUM_POLICY_TYPE
ECAFE_MAX_MONITORS_PER_CHAN_EXCEEDED
ECAFE_INVALID_ENUM_INDEX
ECAFE_PVGROUP_GROUPHANDLE_MISMATCH
ECAFE_TIMEOUT_SET_AND_MATCH
ECAFE_HANDLE_MISMATCH_SET_AND_MATCH
cdef cppclass CAFEStatusSeverity:
CAFEStatusSeverity()
string message (int)
cdef cppclass CAFEStatusInfo:
CAFEStatusInfo()
string message (int)
cdef cppclass CAFEStatusCode:
CAFEStatusCode()
string message (int)
int enumIs(string)
cdef cppclass CAFEStatus:
CAFEStatus()
string code(int)
string info(int)
string message(int)
void report(int)
cdef extern from "PVDataHolder.h":
cdef cppclass PVDataHolder:
etsDate _etsDate
etsNorm _etsNorm
PVDataHolder()
PVDataHolder(unsigned int)
#shared_ptr [CAFE_DATATYPE_UNION []] val;
#shared_ptr[double []] getDouble()
#shared_ptr[float []] getFloat()
#shared_ptr[int []] getInt()
#shared_ptr[string []] getString()
#shared_ptr[vector [double]] getAsVDouble()
#shared_ptr[vector [float]] getAsVFloat()
#shared_ptr[vector [int]] getAsVInt()
#shared_ptr[vector [string]] getAsVString()
char * getAsDbr_string_t()
char * getAsDbr_string_t(unsigned int)
string getAsString()
string getAsString(unsigned int)
double getAsDouble()
double getAsDouble(unsigned int)
float getAsFloat()
float getAsFloat(unsigned int)
short getAsShort()
short getAsShort(unsigned int)
unsigned short getAsUShort()
unsigned short getAsUShort(unsigned int)
unsigned char getAsChar()
unsigned char getAsChar(unsigned int)
int getAsLong()
int getAsLong(unsigned int)
int getAsLongLong()
int getAsLongLong(unsigned int)
string getWFAsString()
string concatToString()
unsigned int getUserNo()
unsigned int getNelem()
int setNelem(unsigned int)
void setRule(bint)
bint getRule()
void setHasAlarm(bint)
void setHasTS(bint)
bint getHasAlarm()
bint getHasTS()
int setString(string)
int setDouble(double)
int setInt(int)
int setVString(vector[string])
int setVDouble(vector[double])
int setVInt(vector[int])
int getAlarmStatus()
int getAlarmSeverity()
int getStatus()
etsNorm getEpicsTimeStampAsUInt32()
etsDate getEpicsTimeStampAsDate()
unsigned int getDataType()
char * getPV()
char * getPVName()
void valReset()
cdef extern from "PVCtrlHolder.h":
cdef cppclass PVCtrlHolder:
PVCtrlHolder()
PVCtrlHolder(unsigned int)
short getPrecision()
const char * getUnits()
string getUnitsAsString()
short getNoEnumStrings()
vector[string] getEnumStrings()
double getUpperDispLimit_AsDouble()
double getLowerDispLimit_AsDouble()
double getUpperAlarmLimit_AsDouble()
double getUpperWarningLimit_AsDouble()
double getLowerWarningLimit_AsDouble()
double getLowerAlarmLimit_AsDouble()
double getUpperCtrlLimit_AsDouble()
double getLowerCtrlLimit_AsDouble()
float getFloat(unsigned int)
string getAsString()
string getAsString(unsigned int)
char* getAsDbr_string_t()
char* getAsDbr_string_t(unsigned int)
double getAsDouble()
double getAsDouble(unsigned int)
float getAsFloat()
float getAsFloat(unsigned int)
short getAsShort()
short getAsShort(unsigned int)
unsigned short getAsUShort()
unsigned short getAsUShort(unsigned int)
unsigned char getAsChar()
unsigned char getAsChar(unsigned int)
int getAsLong()
int getAsLong(unsigned int)
int getAsLongLong()
int getAsLongLong(unsigned int)
unsigned int getNelem()
int setNelem(unsigned int)
int getAlarmStatus()
int getAlarmSeverity()
int getStatus()
unsigned int getDataType()
cdef extern from "PVGroup.h":
cdef cppclass PVGroup:
PVGroup()
PVDataHolder * getPVData()
unsigned int getNPV()
string getNameAsString()
unsigned int getGroupHandle()
int getStatusGroup()
void setPVData(PVDataHolder *)
void show()
void showMax(unsigned int)
void showMaxMax(unsigned int, unsigned int)
pass
cdef extern from "cafe.h":
cdef cppclass CAFE:
ChannelOpenPolicy channelOpenPolicy
ChannelOpenPolicy channelOpenGroupPolicy
ChannelOpenPolicy channelMonitorPolicy
#ChannelRequestPolicy channelRequestPolicyGet
#ChannelRequestPolicy channelRequestPolicyPut
PolicyHelper getPolicyHelper()
HandleHelper getHandleHelper()
int _ca_pend_io(double) nogil
int _ca_pend_event(double) nogil
int _ca_flush_io() nogil
int _ca_poll() nogil
int init()
int open(char *, unsigned int &) except +
int openV(vector[string], vector[unsigned int] &) except +
void openNoWait() nogil
void openPrepare() nogil
void openGroupPrepare() nogil
void openNow() nogil
void openNowAndWait(double) nogil
void openGroupNowAndWait(double) nogil
void openGroupNowAndWaitForInput(double, vector[unsigned int]) nogil
void groupOpenNowAndWait(double, vector[unsigned int]) nogil
void openMonitorPrepare() nogil
void openMonitorNow() nogil
void openMonitorNowAndWait(double) nogil
int closeHandlesV(vector[unsigned int]) nogil
int close(unsigned int) nogil
int closeChannels() nogil
int closeChannelKeepHandle(unsigned int) nogil
int closeChannelsKeepHandles(vector[unsigned int]) nogil
vector[unsigned int] closeDisconnectedChannelsFromWithinGroupV(unsigned int) nogil
bint allChannelsConnected()
bint isChannelConnected(unsigned int)
int printDisconnectedHandles()
int printHandle(unsigned int)
int printHandles()
bint isEnum(unsigned int)
bint isValid(unsigned int)
void printStatusMessage(int)
void printStatus(unsigned int, int)
int attachContextByPVName(const char *)
int attachContextByHandle(unsigned int)
unsigned int getNelemClient (unsigned int)
unsigned int getNelemNative (unsigned int)
unsigned int getNelemRequest(unsigned int)
const char * getPVFromHandle (unsigned int)
unsigned int getHandleFromPV (const char *)
void loadSFGroups(string)
int getChannelInfo(unsigned int, ChannelRegalia)
CAFEStatus getCafeStatus()
CAFEStatusSeverity getCafeStatusSeverity()
PVDataHolder * getPVData(vector[unsigned int])
vector[string] getFromGlobalChannelList(vector[string])
string getChannelIDAsString(chid)
int getWFAsString(unsigned int, string &) nogil
int getWFAsStringCache(unsigned int, string &)
int getNonBlocking(unsigned int) nogil
int getCacheFloatArray(unsigned int, float *)
int getCacheDoubleArray(unsigned int, double *)
int getCacheShortArray(unsigned int, short *)
int getCacheLongArray(unsigned int, int *)
int getCacheStringArray(unsigned int, string *)
int getCacheDbrStringArray(unsigned int, dbr_string_t[])
int getCacheDouble(unsigned int, double &)
int getCacheLong(unsigned int, int &)
int getCacheString(unsigned int, string &)
int getDouble(unsigned int, double &) nogil
int getLong(unsigned int, int &) nogil
int getString(unsigned int, string &) nogil
int getStringTS(unsigned int, string &, short &, short&, epicsTimeStamp&) nogil
int getCharArray(unsigned int, char []) nogil
int getShortArray(unsigned int, short []) nogil
int getUShortArray(unsigned int, unsigned short[]) nogil
int getDoubleArray(unsigned int, double []) nogil
int getFloatArray(unsigned int, float []) nogil
int getLongArray(unsigned int, int[]) nogil
int getStringArray(unsigned int, string[]) nogil
int getDbrStringArray(unsigned int, dbr_string_t[]) nogil
int get(unsigned int, PVDataHolder &) nogil
int getCtrl(unsigned int, PVCtrlHolder &) nogil
int getCtrlCache(unsigned int, PVCtrlHolder &) nogil
int getPVArray(vector[unsigned int], PVDataHolder *) nogil
int getCachePVArray(vector[unsigned int], PVDataHolder *)
int getCachePVArrayNoWait(vector[unsigned int], PVDataHolder *)
int getV(vector[unsigned int], vector[int]) nogil
int getCacheVStr(vector[unsigned int], vector[string], vector[int]) nogil
int getCacheVLong(vector[unsigned int], vector[dbr_long_t], vector[int]) nogil
int getCacheVDouble(vector[unsigned int], vector[double], vector[int]) nogil
int waitForBundledEvents(vector[unsigned int], vector[int]) nogil
int waitForGetEvent(unsigned int) nogil
int monitorStart(unsigned int, MonitorPolicy &) nogil
int monitorStopAll() nogil
int monitorStop(unsigned int) nogil
int monitorStopWithID(unsigned int, unsigned int) nogil
int getCache(unsigned int, PVDataHolder &)
MonitorPolicy * createMonitorPolicyArray(const unsigned int)
int groupMonitorStart(unsigned int, vector[int]&, vector[MonitorPolicy] & ) nogil
int groupMonitorStop (unsigned int, vector[int]&) nogil
int groupDefine(char *, vector[const char *])
int groupOpen(char *, unsigned int &) nogil except +
int groupClose(unsigned int &) nogil except +
int groupAttach(unsigned int, PVGroup &) nogil
int groupGet(unsigned int, PVGroup &) nogil
int groupGetCache(unsigned int, PVGroup &) nogil
int groupSet(unsigned int, PVGroup &) nogil
int groupMemberList(const char *, vector[string] &)
int loadCollectionsFromXML(const char *) nogil
int loadGroupsFromXML(const char *) nogil
int devicePositionMap(const char *, map[float, string]&)
int devicePositionV(const char *, vector[string]& , vector[float] &)
int restoreFromXML(const char * snapshotFile) nogil;
int snapshot2XML (PVGroup pg) nogil;
void openGroupXMLFile(string fileName) nogil;
void closeGroupXMLFile(string fileName) nogil;
int group2XML (const char * grpName, string fileName) nogil;
int groupList (vector[string] &)
int printStatusIfError(vector[unsigned int], vector[int])
int setStringArray(unsigned int, char **) nogil
int setCharArray(unsigned int, unsigned char *) nogil
int setLongArray(unsigned int, int *) nogil
int setDoubleArray(unsigned int, double *) nogil
int setPVArray(vector[unsigned int], PVDataHolder *) nogil
int setVString(unsigned int, vector[string]) nogil
int setVChar(unsigned int, vector[unsigned char]) nogil
int setVShort(unsigned int, vector[short]) nogil
int setVUShort(unsigned int, vector[unsigned short]) nogil
int setVLong(unsigned int, vector[dbr_long_t]) nogil
int setVFloat (unsigned int, vector[float]) nogil
int setVDouble(unsigned int, vector[double]) nogil
int setVVString(vector[unsigned int], vector[string], vector[int]&) nogil
int setVVChar(vector[unsigned int], vector[unsigned char], vector[int]&) nogil
int setVVLong(vector[unsigned int], vector[int], vector[int]&) nogil
int setVVDouble(vector[unsigned int], vector[double], vector[int]&) nogil
int setString(unsigned int, string) nogil
int setChar(unsigned int, unsigned char) nogil
int setShort(unsigned int, short) nogil
int setUShort(unsigned int, unsigned short) nogil
int setLong(unsigned int, int) nogil
int setLongLong(unsigned int, long long) nogil
int setFloat (unsigned int, float) nogil
int setDouble(unsigned int, double) nogil
int setAndMatch(const unsigned int, double, const unsigned int, double tolerance, double timeout, bint printFlag) nogil
int setAndMatchMany(vector[unsigned int], vector[double], vector[unsigned int], double tolerance, double timeout, bint printFlag) nogil
int gameSetAndMatch(vector[unsigned int], vector[double], vector[unsigned int], vector[string], vector[unsigned int], double tolerance, double timeout, bint printFlag) nogil
int match(double, const unsigned int, double tolerance, double timeout, bint printFlag) nogil
int matchMany(vector[double], vector[unsigned int], double tolerance, double timeout, bint printFlag) nogil
int setNelemToOne(const unsigned int)
int setNelemToPrevious(const unsigned int, const unsigned int)
int setNelemToRetrieveFromCacheToOne(const unsigned int)
int setNelemToRetrieveFromCacheToPrevious(const unsigned int, const unsigned int)
int getNelemToRetrieveFromCache(const unsigned int)
int terminate() nogil
pass