This is Unofficial EPICS BASE Doxygen Site
qsrv.h File Reference
#include <epicsVersion.h>
#include <pv/qsrvVersionNum.h>
+ Include dependency graph for qsrv.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define VERSION_INT(V, R, M, P)   ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P))
 
#define QSRV_VERSION_INT   VERSION_INT(EPICS_QSRV_MAJOR_VERSION, EPICS_QSRV_MINOR_VERSION, EPICS_QSRV_MAINTENANCE_VERSION, !(EPICS_QSRV_DEVELOPMENT_FLAG))
 
#define QSRV_ABI_VERSION_INT   VERSION_INT(EPICS_QSRV_ABI_MAJOR_VERSION, EPICS_QSRV_ABI_MINOR_VERSION, 0, 0)
 
#define QSRV_API
 

Functions

QSRV_API unsigned qsrvVersion (void)
 
QSRV_API unsigned qsrvABIVersion (void)
 
QSRV_API void testqsrvWaitForLinkEvent (struct link *plink)
 
QSRV_API void testqsrvShutdownOk (void)
 
QSRV_API void testqsrvCleanup (void)
 

Macro Definition Documentation

#define QSRV_ABI_VERSION_INT   VERSION_INT(EPICS_QSRV_ABI_MAJOR_VERSION, EPICS_QSRV_ABI_MINOR_VERSION, 0, 0)

Definition at line 15 of file qsrv.h.

#define QSRV_API

Definition at line 36 of file qsrv.h.

#define QSRV_VERSION_INT   VERSION_INT(EPICS_QSRV_MAJOR_VERSION, EPICS_QSRV_MINOR_VERSION, EPICS_QSRV_MAINTENANCE_VERSION, !(EPICS_QSRV_DEVELOPMENT_FLAG))

Definition at line 13 of file qsrv.h.

#define VERSION_INT (   V,
  R,
  M,
 
)    ( ((V)<<24) | ((R)<<16) | ((M)<<8) | (P))

Definition at line 7 of file qsrv.h.

Function Documentation

QSRV_API unsigned qsrvABIVersion ( void  )

returns QSRV_ABI_VERSION_INT captured at compilation time

Definition at line 100 of file qsrv.cpp.

101 {
102  return QSRV_ABI_VERSION_INT;
103 }
#define QSRV_ABI_VERSION_INT
Definition: qsrv.h:15
QSRV_API unsigned qsrvVersion ( void  )

returns QSRV_VERSION_INT captured at compilation time

Definition at line 95 of file qsrv.cpp.

96 {
97  return QSRV_VERSION_INT;
98 }
#define QSRV_VERSION_INT
Definition: qsrv.h:13
QSRV_API void testqsrvCleanup ( void  )

Call after testIocShutdownOk() and before testdbCleanup()

1 testdbPrepare();
2 ...
3 testIocInitOk();
4 ...
5 testqsrvShutdownOk();
6 testIocShutdownOk();
7 testqsrvCleanup();
8 testdbCleanup();

Definition at line 158 of file pvalink.cpp.

159 {
160  try {
161  shutdownStep2();
162  }catch(std::exception& e){
163  testAbort("Error initializing pva link handling : %s\n", e.what());
164  }
165 }
void testAbort(const char *fmt,...)
QSRV_API void testqsrvShutdownOk ( void  )

Call before testIocShutdownOk()

1 testdbPrepare();
2 ...
3 testIocInitOk();
4 ...
5 testqsrvShutdownOk();
6 testIocShutdownOk();
7 testqsrvCleanup();
8 testdbCleanup();

Definition at line 149 of file pvalink.cpp.

150 {
151  try {
152  shutdownStep1();
153  }catch(std::exception& e){
154  testAbort("Error while stopping PVA link pool : %s\n", e.what());
155  }
156 }
void testAbort(const char *fmt,...)
QSRV_API void testqsrvWaitForLinkEvent ( struct link plink)

Definition at line 167 of file pvalink.cpp.

168 {
169  std::tr1::shared_ptr<pvaLinkChannel> lchan;
170  {
171  DBScanLocker lock(plink->precord);
172 
173  if(plink->type!=JSON_LINK || !plink->value.json.jlink || plink->value.json.jlink->pif!=&lsetPVA) {
174  testAbort("Not a PVA link");
175  }
176  pvaLink *pval = static_cast<pvaLink*>(plink->value.json.jlink);
177  lchan = pval->lchan;
178  }
179  if(lchan) {
180  lchan->run_done.wait();
181  }
182 }
epicsMutexId lock
Definition: osiClockTime.c:37
void testAbort(const char *fmt,...)
struct json_link json
Definition: link.h:177