7 #define EPICS_DBCA_PRIVATE_API 24 #include <dbChannel.h> 28 #include <epicsVersion.h> 53 # define TRACE(X) std::cerr<<"PVAL "<<__func__<<" " X <<"\n" 55 # define TRACE(X) do {} while(0) 59 #define DEBUG(OBJ, X) do{ if((OBJ)->debug) std::cout X<<"\n"; }while(0) 123 typedef std::map<channels_key_t, std::tr1::weak_ptr<pvaLinkChannel> >
channels_t;
134 public epicsThreadRunable,
135 public std::tr1::enable_shared_from_this<pvaLinkChannel>
175 void put(
bool force=
false);
185 void run_dbProcess(
size_t idx);
189 std::vector<dbCommon*> scan_records;
190 std::vector<
bool> scan_check_passive;
191 std::vector<
epics::pvData::BitSet> scan_changed;
193 DBManyLock atomic_lock;
204 std::tr1::shared_ptr<pvaLinkChannel>
lchan;
215 epics::pvData::PVStructure::const_shared_pointer fld_display,
235 pvd::PVField::const_shared_pointer getSubField(
const char *name);
const pvd::PVStructure::const_shared_pointer pvRequest
enum pvalink::pvaLinkConfig::pp_t pp
std::tr1::shared_ptr< detail::SharedPut > put
epics::pvData::PVField::const_shared_pointer fld_value
epics::pvData::BitSet proc_changed
std::tr1::shared_ptr< const void > previous_root
TODO only here because of the Lockable.
std::tr1::shared_ptr< const Structure > StructureConstPtr
Handle for monitor subscription.
std::pair< std::string, std::string > channels_key_t
static size_t num_instances
Handle for in-progress get/put/rpc operation.
std::tr1::shared_ptr< PVDataCreate > PVDataCreatePtr
Information on put completion.
enum pvalink::pvaLinkConfig::ms_t ms
std::string channelName
Channel (aka PV) name string.
std::tr1::shared_ptr< pvaLinkChannel > lchan
APIs for the epicsMutex mutual exclusion semaphore.
pvac::ClientProvider provider_remote
pvd::shared_vector< const void > put_scratch
QSRV_API int pvaLinkIsolate
Extended replacement for the Posix exit and atexit routines.
epicsGuardRelease< pvd::Mutex > UnGuard
QSRV_API int pvaLinkDebug
APIs for the epicsEvent binary semaphore.
std::tr1::shared_ptr< PVStructure > PVStructurePtr
static size_t num_instances
Information on monitor subscription/queue change.
const pvaGlobal_t::channels_key_t key
epics::pvData::PVScalar::const_shared_pointer fld_severity
EPICS time stamp, for use from C code.
epicsGuard< pvd::Mutex > Guard
std::set< pvaLink *, LinkSort > links_t
QSRV_API int pvaLinkNWorkers
std::string fieldName
sub-field within addressed PVStructure
Monitor event notification.
epics::pvData::PVStructure::const_shared_pointer fld_valueAlarm
C++ and C descriptions for a thread.
std::map< channels_key_t, std::tr1::weak_ptr< pvaLinkChannel > > channels_t
const pvd::PVDataCreatePtr create