helper functions used to extract handle_index in instant.h for pyvind11 compatability
This commit is contained in:
@@ -1657,6 +1657,123 @@ const char * HandleHelper::getPVAlias(unsigned int handle, ca_client_context * c
|
||||
#undef __METHOD__
|
||||
}
|
||||
|
||||
cafeConduit_set_by_handle::iterator HandleHelper::getIterFromHandle(unsigned int handle)
|
||||
{
|
||||
#define __METHOD__ "HandleHelper::getIterFromHandle(unsigned int handle)"
|
||||
|
||||
cafeConduit_set_by_handle & handle_index=cs.get<by_handle>();
|
||||
cafeConduit_set_by_handle::iterator it_handle;
|
||||
it_handle = handle_index.find(handle);
|
||||
if (it_handle != handle_index.end()) {
|
||||
//std::cout << __METHOD__ << " pv " << (*it_handle).getPV() << " // " << (*it_handle).handle << std::endl;
|
||||
return it_handle;
|
||||
}
|
||||
else {return it_handle;}
|
||||
|
||||
#undef __METHOD__
|
||||
}
|
||||
|
||||
|
||||
cafeConduit_set_by_handle & HandleHelper::getcsHandleIndex()
|
||||
{
|
||||
#define __METHOD__ "HandleHelper::getcsHandleIndex()"
|
||||
|
||||
return cs.get<by_handle>();
|
||||
|
||||
#undef __METHOD__
|
||||
}
|
||||
|
||||
|
||||
int HandleHelper::modifyHandleIndexStatus(unsigned int handle, long status)
|
||||
{
|
||||
#define __METHOD__ "HandleHelper::modifyHandleIndexStatus()"
|
||||
|
||||
cafeConduit_set_by_handle & handle_index=cs.get<by_handle>();
|
||||
cafeConduit_set_by_handle::iterator it_handle;
|
||||
it_handle = handle_index.find(handle);
|
||||
if (it_handle != handle_index.end()) {
|
||||
handle_index.modify(it_handle, change_status(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Handle=" << handle << " either never existed or no longer exists " << std::endl;
|
||||
return ECAFE_INVALID_HANDLE;
|
||||
}
|
||||
return ICAFE_NORMAL;
|
||||
|
||||
#undef __METHOD__
|
||||
}
|
||||
|
||||
|
||||
int HandleHelper::modifyChannelTimeoutPolicyGet(unsigned int handle,
|
||||
ChannelTimeoutPolicy channelTimeoutPolicyGet)
|
||||
{
|
||||
#define __METHOD__ "HandleHelper::modifyChannelTimeoutPolicyGet()"
|
||||
|
||||
cafeConduit_set_by_handle & handle_index=cs.get<by_handle>();
|
||||
cafeConduit_set_by_handle::iterator it_handle;
|
||||
it_handle = handle_index.find(handle);
|
||||
if (it_handle != handle_index.end()) {
|
||||
handle_index.modify(it_handle,
|
||||
change_channelTimeoutPolicyGet(channelTimeoutPolicyGet));
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Handle=" << handle << " either never existed or no longer exists " << std::endl;
|
||||
return ECAFE_INVALID_HANDLE;
|
||||
}
|
||||
return ICAFE_NORMAL;
|
||||
|
||||
#undef __METHOD__
|
||||
}
|
||||
|
||||
|
||||
int HandleHelper::modifyChannelRequestStatusGet(unsigned int handle,
|
||||
ChannelRequestStatus channelRequestStatusGet)
|
||||
{
|
||||
#define __METHOD__ "HandleHelper::modifyChannelRequestStatusGet()"
|
||||
|
||||
cafeConduit_set_by_handle & handle_index=cs.get<by_handle>();
|
||||
cafeConduit_set_by_handle::iterator it_handle;
|
||||
it_handle = handle_index.find(handle);
|
||||
if (it_handle != handle_index.end()) {
|
||||
handle_index.modify(it_handle,
|
||||
change_channelRequestStatusGet(channelRequestStatusGet));
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Handle=" << handle << " either never existed or no longer exists " << std::endl;
|
||||
return ECAFE_INVALID_HANDLE;
|
||||
}
|
||||
return ICAFE_NORMAL;
|
||||
|
||||
#undef __METHOD__
|
||||
}
|
||||
|
||||
|
||||
int HandleHelper::modifyChannelRequestMetaDataClient(unsigned int handle,
|
||||
ChannelRequestMetaDataClient channelRequestMetaDataClient)
|
||||
{
|
||||
#define __METHOD__ "HandleHelper::modifyChannelRequestMetaDataClient()"
|
||||
|
||||
cafeConduit_set_by_handle & handle_index=cs.get<by_handle>();
|
||||
cafeConduit_set_by_handle::iterator it_handle;
|
||||
it_handle = handle_index.find(handle);
|
||||
if (it_handle != handle_index.end()) {
|
||||
handle_index.modify(it_handle,
|
||||
change_channelRequestMetaDataClient(channelRequestMetaDataClient));
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Handle=" << handle << " either never existed or no longer exists " << std::endl;
|
||||
return ECAFE_INVALID_HANDLE;
|
||||
}
|
||||
return ICAFE_NORMAL;
|
||||
|
||||
#undef __METHOD__
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \brief Retrieves the process variable from a given handle
|
||||
@@ -1689,9 +1806,14 @@ const char * HandleHelper::getPVFromHandle(unsigned int handle, ca_client_contex
|
||||
cafeConduit_set_by_handle::iterator it_handle;
|
||||
it_handle = handle_index.find(handle);
|
||||
|
||||
//std::cout << __METHOD__ << "handle_index ==> " << &handle_index << std::endl;
|
||||
//std::cout << __METHOD__ << "handle_index ==> " << &handle_index << std::endl;
|
||||
//std::cout << __METHOD__ << "cs " << &cs << std::endl;
|
||||
|
||||
if (it_handle != handle_index.end())
|
||||
{
|
||||
//std::cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << std::endl;
|
||||
//std::cout << "Client context: " << ccc << std::endl;
|
||||
return (*it_handle).getPV();
|
||||
}
|
||||
else
|
||||
@@ -1706,9 +1828,9 @@ const char * HandleHelper::getPVFromHandle(unsigned int handle, ca_client_contex
|
||||
|
||||
if ( (*itcs).getHandle()==handle && (*itcs).getClientContext() == ccc)
|
||||
{
|
||||
//cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl;
|
||||
//cout << " INFORMATION to author: MATCHed Handle= " << handle << " to PV= " << (*itcs).getPV() << endl;
|
||||
//cout << " by looping through tcs::iterator, while the by_handle::iterator was NOT found! " << endl;
|
||||
cout << __FILE__ << "/" << __LINE__ << "/" << __METHOD__ << endl;
|
||||
cout << " INFORMATION to author: MATCHed Handle= " << handle << " to PV= " << (*itcs).getPV() << endl;
|
||||
cout << " by looping through tcs::iterator, while the by_handle::iterator was NOT found! " << endl;
|
||||
return (*itcs).getPV();
|
||||
}
|
||||
}
|
||||
@@ -2491,7 +2613,6 @@ int HandleHelper::getAlarmStatusSeverityAsString(unsigned int _handle, std::stri
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \brief Rerieves vector of handles for given vector of PVs
|
||||
* \param pvV input: vector of PVS
|
||||
|
||||
20
src/makefile
20
src/makefile
@@ -249,9 +249,9 @@ AMTAR = $${TAR-tar}
|
||||
#if HAVE_PYTHON_
|
||||
#libcafe_la_SOURCES += pycafe/PyCafe.cpp
|
||||
#endif
|
||||
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base/include/ -I/usr/local/epics/base/include/os/Linux -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml -I$(top_srcdir)/include
|
||||
AM_CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7/include/ -I/usr/local/epics/base-7/include/os/Linux -I/usr/local/epics/base-7/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml -I$(top_srcdir)/include
|
||||
AM_DEFAULT_VERBOSITY = 1
|
||||
AM_LDFLAGS = -L/usr/local/epics/base/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
|
||||
AM_LDFLAGS = -L/usr/local/epics/base-7/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
|
||||
AR = ar
|
||||
AUTOCONF = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoconf
|
||||
AUTOHEADER = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/missing autoheader
|
||||
@@ -262,7 +262,7 @@ CC = /opt/psi/Programming/gcc/7.3.0/bin/gcc
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS = -g -O2
|
||||
CPP = /opt/psi/Programming/gcc/7.3.0/bin/gcc -E
|
||||
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base/include/ -I/usr/local/epics/base/include/os/Linux -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml
|
||||
CPPFLAGS = -fexceptions -fPIC -std=c++1z -I/usr/local/epics/base-7/include/ -I/usr/local/epics/base-7/include/os/Linux -I/usr/local/epics/base-7/include/compiler/gcc -I/opt/gfa/cafe/boost/boost_1_61_0/include/boost -I/opt/gfa/cafe/boost/boost_1_61_0/include -I/opt/gfa/python-3.7/latest/include/qt -I/opt/gfa/python-3.7/latest/include/qt/QtCore -I/opt/gfa/python-3.7/latest/include/qt/QtXml
|
||||
CXX = /opt/psi/Programming/gcc/7.3.0/bin/g++
|
||||
CXXCPP = /opt/psi/Programming/gcc/7.3.0/bin/g++ -E
|
||||
CXXDEPMODE = depmode=gcc3
|
||||
@@ -286,7 +286,7 @@ INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LD = /usr/bin/ld -m elf_x86_64
|
||||
LDFLAGS = -L/usr/local/epics/base/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
|
||||
LDFLAGS = -L/usr/local/epics/base-7/lib/RHEL7-x86_64 -Wl,-rpath,/usr/local/epics/base-7/lib/RHEL7-x86_64 -L/opt/gfa/python-3.7/latest/lib -Wl,-rpath,/opt/gfa/python-3.7/latest/lib
|
||||
LIBOBJS =
|
||||
LIBS = -lQt5Xml -lQt5Core
|
||||
LIBTOOL = $(SHELL) $(top_builddir)/libtool
|
||||
@@ -306,17 +306,17 @@ OTOOL64 =
|
||||
PACKAGE = cafe
|
||||
PACKAGE_BUGREPORT = Bug reports to: jan.chrin@psi.ch
|
||||
PACKAGE_NAME = CAFE
|
||||
PACKAGE_STRING = CAFE 1.14.1
|
||||
PACKAGE_STRING = CAFE 1.14.2
|
||||
PACKAGE_TARNAME = cafe
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 1.14.1
|
||||
PACKAGE_VERSION = 1.14.2
|
||||
PATH_SEPARATOR = :
|
||||
RANLIB = ranlib
|
||||
SED = /usr/bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/sh
|
||||
STRIP = strip
|
||||
VERSION = 1.14.1
|
||||
VERSION = 1.14.2
|
||||
abs_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/src
|
||||
abs_srcdir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/src
|
||||
abs_top_builddir = /afs/psi.ch/project/cafe/gitlab/CAFE/cpp
|
||||
@@ -351,7 +351,7 @@ htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
install_sh = ${SHELL} /afs/psi.ch/project/cafe/gitlab/CAFE/cpp/install-sh
|
||||
libdir = /opt/gfa/cafe/cpp/cafe-1.14.1-gcc-7.3.0/lib/RHEL7-x86_64
|
||||
libdir = /opt/gfa/cafe/cpp/cafe-1.14.2-sls2-gcc-7.3.0/lib/RHEL7-x86_64
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
@@ -359,7 +359,7 @@ mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /opt/gfa/cafe/cpp/cafe-1.14.1-gcc-7.3.0
|
||||
prefix = /opt/gfa/cafe/cpp/cafe-1.14.2-sls2-gcc-7.3.0
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
@@ -379,7 +379,7 @@ lib_LTLIBRARIES = libcafe.la
|
||||
#2nd: age
|
||||
#3rd: revision
|
||||
#1.9.1 1.10.2 1.11.0 1.11.1 1.12.0 1.12.1 1.12.2 1.12.4
|
||||
libcafe_la_LDFLAGS = -version-info 15:1:14
|
||||
libcafe_la_LDFLAGS = -version-info 15:2:14
|
||||
libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp \
|
||||
cafeVectors.cpp cafeXML.cpp callbackHandlerCreate.cpp \
|
||||
callbackHandlerMonitor.cpp conduit.cpp connect.cpp \
|
||||
|
||||
@@ -12,13 +12,13 @@ lib_LTLIBRARIES = libcafe.la
|
||||
#2nd: age
|
||||
#3rd: revision
|
||||
#1.9.1 1.10.2 1.11.0 1.11.1 1.12.0 1.12.1 1.12.2 1.12.4
|
||||
libcafe_la_LDFLAGS = -version-info 15:1:14
|
||||
libcafe_la_LDFLAGS = -version-info 15:2:14
|
||||
|
||||
libcafe_la_SOURCES = cafe.cpp cafeCache.cpp cafeGroup.cpp cafeVectors.cpp cafeXML.cpp \
|
||||
callbackHandlerCreate.cpp callbackHandlerMonitor.cpp conduit.cpp connect.cpp connectCallbacks.cpp \
|
||||
exceptionsHelper.cpp granules.cpp handleHelper.cpp loadCollectionXMLParser.cpp \
|
||||
loadGroupXMLParser.cpp methodCallbacks.cpp helper.cpp policyHelper.cpp \
|
||||
conduitGroup.cpp connectGroup.cpp transpose.cpp restorePVGroupXMLParser.cpp
|
||||
conduitGroup.cpp connectGroup.cpp transpose.cpp restorePVGroupXMLParser.cpp
|
||||
|
||||
|
||||
#if HAVE_PYCAFE_EXT_
|
||||
|
||||
@@ -670,21 +670,18 @@ int Transpose<dbr_string_t>::get(
|
||||
{
|
||||
#define __METHOD__ "Transpose<dbr_string_t>::get()"
|
||||
|
||||
//cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << endl;
|
||||
//cout << __FILE__ << "//" << __LINE__ << "//" << __METHOD__ << endl;
|
||||
|
||||
cafeConduit_set_by_handle & handle_index=cs.get<by_handle>();
|
||||
cafeConduit_set_by_handle::iterator it_handle;
|
||||
it_handle = handle_index.find(_handle);
|
||||
|
||||
|
||||
if (it_handle != handle_index.end())
|
||||
{
|
||||
|
||||
PVDataL = (*it_handle).getDataBuffer ();
|
||||
offset = (*it_handle).getChannelRequestMetaDataClient().getOffset();
|
||||
|
||||
|
||||
|
||||
if(isCacheRequest)
|
||||
{
|
||||
offset = (*it_handle).getChannelRequestMetaData().getOffset( );
|
||||
@@ -697,8 +694,6 @@ int Transpose<dbr_string_t>::get(
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Something wrong, just read last element
|
||||
if (nelem <=0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user