Merged Windows port changes from default branch.

This commit is contained in:
Andrew Johnson
2014-04-16 16:29:12 -05:00
27 changed files with 196 additions and 43 deletions

View File

@ -11,8 +11,11 @@
#include <pv/lock.h>
#define epicsExportSharedSymbols
#include <arrayPerformance.h>
namespace epics { namespace pvDatabase {
using namespace epics::pvData;

View File

@ -11,14 +11,25 @@
#ifndef ARRAYPERFORMANCE_H
#define ARRAYPERFORMANCE_H
#include <shareLib.h>
#ifdef epicsExportSharedSymbols
# define arrayperformanceEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <shareLib.h>
#include <epicsThread.h>
#include <pv/standardPVField.h>
#include <pv/timeStamp.h>
#include <pv/pvTimeStamp.h>
#include <pv/pvDatabase.h>
#ifdef arrayperformanceEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef arrayperformanceEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace pvDatabase {
class ArrayPerformance;

View File

@ -12,6 +12,7 @@
#include <epicsThread.h>
#include <pv/caProvider.h>
#define epicsExportSharedSymbols
#include <longArrayGet.h>
namespace epics { namespace pvDatabase {

View File

@ -11,6 +11,12 @@
#ifndef LONGARRAYGET_H
#define LONGARRAYGET_H
#ifdef epicsExportSharedSymbols
# define longarraygetEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <shareLib.h>
#include <pv/event.h>
@ -20,6 +26,13 @@
#include <pv/pvTimeStamp.h>
#include <pv/pvAccess.h>
#ifdef longarraygetEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef longarraygetEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace pvDatabase {

View File

@ -9,11 +9,14 @@
* @date 2013.08.09
*/
#include <epicsThread.h>
#include <pv/caProvider.h>
#define epicsExportSharedSymbols
#include <longArrayMonitor.h>
namespace epics { namespace pvDatabase {
using namespace epics::pvData;

View File

@ -11,8 +11,12 @@
#ifndef LONGARRAYMONITOR_H
#define LONGARRAYMONITOR_H
#include <shareLib.h>
#ifdef epicsExportSharedSymbols
# define longarraymonitorEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <shareLib.h>
#include <pv/event.h>
#include <pv/lock.h>
#include <pv/standardPVField.h>
@ -20,6 +24,13 @@
#include <pv/pvTimeStamp.h>
#include <pv/pvAccess.h>
#ifdef longarraymonitorEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef longarraymonitorEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace pvDatabase {

View File

@ -12,6 +12,7 @@
#include <epicsThread.h>
#include <pv/caProvider.h>
#define epicsExportSharedSymbols
#include <longArrayPut.h>
namespace epics { namespace pvDatabase {

View File

@ -11,8 +11,13 @@
#ifndef LONGARRAYPUT_H
#define LONGARRAYPUT_H
#include <shareLib.h>
#ifdef epicsExportSharedSymbols
# define longarrayputEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <shareLib.h>
#include <pv/event.h>
#include <pv/lock.h>
#include <pv/standardPVField.h>
@ -20,6 +25,13 @@
#include <pv/pvTimeStamp.h>
#include <pv/pvAccess.h>
#ifdef longarrayputEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef longarrayputEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace pvDatabase {

View File

@ -26,6 +26,7 @@ INC += exampleDatabase.h
LIBRARY += exampleDatabase
exampleDatabase_SRCS += exampleDatabase.cpp
exampleDatabase_SRCS += exampleDatabaseRegister.cpp
exampleDatabase_LIBS += powerSupply
exampleDatabase_LIBS += pvDatabase
exampleDatabase_LIBS += pvAccess
exampleDatabase_LIBS += pvData

View File

@ -11,10 +11,20 @@
#ifndef EXAMPLEDATABASE_H
#define EXAMPLEDATABASE_H
#include <shareLib.h>
#ifdef epicsExportSharedSymbols
# define exampledatabaseEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <shareLib.h>
#include <pv/pvDatabase.h>
#ifdef exampledatabaseEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef exampledatabaseEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace pvDatabase {
class epicsShareClass ExampleDatabase{

View File

@ -12,8 +12,10 @@
#include <pv/standardPVField.h>
#include <pv/convert.h>
#define epicsExportSharedSymbols
#include <exampleLink.h>
namespace epics { namespace pvDatabase {
using namespace epics::pvData;
using namespace epics::pvAccess;

View File

@ -8,11 +8,15 @@
* @author mrk
* @date 2013.08.02
*/
#ifndef EXAMPLEPVADOUBLEARRAYGET_H
#define EXAMPLEPVADOUBLEARRAYGET_H
#ifndef EXAMPLELINK_H
#define EXAMPLELINK_H
#include <shareLib.h>
#ifdef epicsExportSharedSymbols
# define examplelinkEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
//#include <shareLib.h>
#include <pv/timeStamp.h>
#include <pv/pvTimeStamp.h>
#include <pv/alarm.h>
@ -22,6 +26,14 @@
#include <pv/pvAccess.h>
#include <pv/serverContext.h>
#ifdef examplelinkEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef examplelinkEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace pvDatabase {
@ -87,4 +99,4 @@ private:
}}
#endif /* EXAMPLEPVADOUBLEARRAYGET_H */
#endif /* EXAMPLELINK_H */

View File

@ -11,6 +11,8 @@
#include <pv/standardPVField.h>
#define epicsExportSharedSymbols
#include <exampleServer.h>
namespace epics { namespace exampleServer {

View File

@ -8,15 +8,26 @@
* @author mrk
* @date 2013.04.02
*/
#ifndef EXAMPLECOUNTER_H
#define EXAMPLECOUNTER_H
#ifndef EXAMPLESERVER_H
#define EXAMPLESERVER_H
#ifdef epicsExportSharedSymbols
# define exampleServerEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <shareLib.h>
#include <pv/pvDatabase.h>
#include <pv/timeStamp.h>
#include <pv/pvTimeStamp.h>
#ifdef exampleServerEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef exampleServerEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace exampleServer {
@ -47,4 +58,4 @@ private:
}}
#endif /* EXAMPLECOUNTER_H */
#endif /* EXAMPLESERVER_H */

View File

@ -8,6 +8,7 @@
* @author mrk
* @date 2012.11.21
*/
#define epicsExportSharedSymbols
#include <pv/pvDatabase.h>

View File

@ -11,15 +11,26 @@
#ifndef PVDATABASE_H
#define PVDATABASE_H
#ifdef epicsExportSharedSymbols
# define pvdatabaseEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <list>
#include <map>
#include <deque>
#include <shareLib.h>
#include <pv/pvData.h>
#include <pv/convert.h>
#ifdef pvdatabaseEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef pvdatabaseEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace pvDatabase {
class PVRecord;

View File

@ -8,9 +8,12 @@
* @author mrk
* @date 2012.11.21
*/
#include <epicsThread.h>
#define epicsExportSharedSymbols
#include <pv/pvDatabase.h>
#include <epicsThread.h>
using std::tr1::static_pointer_cast;
using namespace epics::pvData;

View File

@ -14,10 +14,13 @@
#include <epicsThread.h>
#include <pv/timeStamp.h>
#include <pv/channelProviderLocal.h>
#include <pv/convert.h>
#include <pv/pvSubArrayCopy.h>
#define epicsExportSharedSymbols
#include <pv/channelProviderLocal.h>
namespace epics { namespace pvDatabase {
using namespace epics::pvData;
using namespace epics::pvAccess;
@ -168,7 +171,7 @@ void ChannelProcessLocal::process(bool lastRequest)
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelProcessRequester->processDone(status);
return;
@ -265,7 +268,7 @@ ChannelGetLocalPtr ChannelGetLocal::create(
"");
if(pvCopy.get()==NULL) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"invalid pvRequest");
ChannelGet::shared_pointer channelGet;
PVStructurePtr pvStructure;
@ -317,7 +320,7 @@ void ChannelGetLocal::get(bool lastRequest)
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelGetRequester->getDone(status);
return;
@ -419,7 +422,7 @@ ChannelPutLocalPtr ChannelPutLocal::create(
"");
if(pvCopy.get()==NULL) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"invalid pvRequest");
ChannelPut::shared_pointer channelPut;
PVStructurePtr pvStructure;
@ -470,7 +473,7 @@ void ChannelPutLocal::get()
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelPutRequester->getDone(status);
return;
@ -496,7 +499,7 @@ void ChannelPutLocal::put(bool lastRequest)
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelPutRequester->getDone(status);
return;
@ -607,7 +610,7 @@ ChannelPutGetLocalPtr ChannelPutGetLocal::create(
"getField");
if(pvPutCopy.get()==NULL || pvGetCopy.get()==NULL) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"invalid pvRequest");
ChannelPutGet::shared_pointer channelPutGet;
PVStructurePtr pvStructure;
@ -674,7 +677,7 @@ void ChannelPutGetLocal::putGet(bool lastRequest)
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelPutGetRequester->putGetDone(status);
return;
@ -707,7 +710,7 @@ void ChannelPutGetLocal::getPut()
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelPutGetRequester->getPutDone(status);
return;
@ -733,7 +736,7 @@ void ChannelPutGetLocal::getGet()
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelPutGetRequester->getGetDone(status);
return;
@ -822,7 +825,7 @@ ChannelArrayLocalPtr ChannelArrayLocal::create(
PVFieldPtrArray const & pvFields = pvRequest->getPVFields();
if(pvFields.size()!=1) {
Status status(
Status::Status::STATUSTYPE_ERROR,"invalid pvRequest");
Status::STATUSTYPE_ERROR,"invalid pvRequest");
ChannelArrayLocalPtr channelArray;
PVScalarArrayPtr pvArray;
channelArrayRequester->channelArrayConnect(status,channelArray,pvArray);
@ -842,7 +845,7 @@ ChannelArrayLocalPtr ChannelArrayLocal::create(
pvField = pvRecord->getPVRecordStructure()->getPVStructure()->getSubField(fieldName);
if(pvField==NULL) {
Status status(
Status::Status::STATUSTYPE_ERROR,fieldName +" not found");
Status::STATUSTYPE_ERROR,fieldName +" not found");
ChannelArrayLocalPtr channelArray;
PVScalarArrayPtr pvArray;
channelArrayRequester->channelArrayConnect(status,channelArray,pvArray);
@ -851,7 +854,7 @@ ChannelArrayLocalPtr ChannelArrayLocal::create(
if(pvField->getField()->getType()!=scalarArray && pvField->getField()->getType()!=structureArray)
{
Status status(
Status::Status::STATUSTYPE_ERROR,fieldName +" not array");
Status::STATUSTYPE_ERROR,fieldName +" not array");
ChannelArrayLocalPtr channelArray;
PVArrayPtr pvArray;
channelArrayRequester->channelArrayConnect(status,channelArray,pvArray);
@ -905,7 +908,7 @@ void ChannelArrayLocal::getArray(bool lastRequest,int offset, int count)
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelArrayRequester->getArrayDone(status);
return;
@ -936,7 +939,7 @@ void ChannelArrayLocal::putArray(bool lastRequest,int offset, int count)
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelArrayRequester->putArrayDone(status);
return;
@ -964,7 +967,7 @@ void ChannelArrayLocal::setLength(bool lastRequest,int length, int capacity)
{
if(isDestroyed) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"was destroyed");
channelArrayRequester->setLengthDone(status);
return;
@ -977,7 +980,7 @@ void ChannelArrayLocal::setLength(bool lastRequest,int length, int capacity)
try {
if(capacity>=0 && !pvArray->isCapacityMutable()) {
Status status(
Status::Status::STATUSTYPE_ERROR,
Status::STATUSTYPE_ERROR,
"capacityImnutable");
channelArrayRequester->setLengthDone(status);
pvRecord->unlock();

View File

@ -8,6 +8,7 @@
* @author Marty Kraimer
* @date 2013.04
*/
#define epicsExportSharedSymbols
#include <pv/serverContext.h>
#include <pv/channelProviderLocal.h>

View File

@ -10,6 +10,14 @@
*/
#ifndef CHANNELPROVIDERLOCAL_H
#define CHANNELPROVIDERLOCAL_H
#ifdef epicsExportSharedSymbols
# define channelProviderLocalEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <string>
#include <cstring>
#include <stdexcept>
@ -22,8 +30,15 @@
#include <pv/pvType.h>
#include <pv/pvData.h>
#include <pv/pvAccess.h>
#include <pv/pvDatabase.h>
#include <pv/status.h>
#ifdef channelProviderLocalEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef channelProviderLocalEpicsExportSharedSymbols
# include <shareLib.h>
#endif
#include <pv/pvDatabase.h>
#include <pv/monitorAlgorithm.h>

View File

@ -12,12 +12,14 @@
#include <sstream>
#include <pv/thread.h>
#include <pv/channelProviderLocal.h>
#include <pv/channelProviderLocal.h>
#include <pv/bitSetUtil.h>
#include <pv/queue.h>
#include <pv/timeStamp.h>
#define epicsExportSharedSymbols
#include <pv/channelProviderLocal.h>
namespace epics { namespace pvDatabase {
using namespace epics::pvData;
using namespace epics::pvAccess;
@ -28,7 +30,7 @@ using std::endl;
static MonitorAlgorithmCreatePtr nullMonitorAlgorithmCreate;
static MonitorPtr nullMonitor;
static MonitorElementPtr NULLMonitorElement;
static Status wasDestroyedStatus(Status::Status::STATUSTYPE_ERROR,"was destroyed");
static Status wasDestroyedStatus(Status::STATUSTYPE_ERROR,"was destroyed");
static ConvertPtr convert = getConvert();

View File

@ -15,6 +15,8 @@
#include <pv/thread.h>
#define epicsExportSharedSymbols
#include <pv/channelProviderLocal.h>
#include <pv/pvCopy.h>

View File

@ -9,6 +9,8 @@
* @date 2013.04.18
*/
#define epicsExportSharedSymbols
#include <pv/recordList.h>
using std::tr1::static_pointer_cast;

View File

@ -8,6 +8,7 @@
* @author mrk
* @date 2013.04.18
*/
#define epicsExportSharedSymbols
#include <pv/traceRecord.h>

View File

@ -9,10 +9,13 @@
* @date 2013.04.02
*/
#include "powerSupply.h"
#include <pv/standardField.h>
#include <pv/standardPVField.h>
#define epicsExportSharedSymbols
#include "powerSupply.h"
namespace epics { namespace pvDatabase {
using namespace epics::pvData;

View File

@ -11,19 +11,32 @@
#ifndef POWERSUPPLY_H
#define POWERSUPPLY_H
#include <shareLib.h>
//#include <shareLib.h>
#ifdef epicsExportSharedSymbols
# define powersupplyEpicsExportSharedSymbols
# undef epicsExportSharedSymbols
#endif
#include <pv/pvDatabase.h>
#include <pv/timeStamp.h>
#include <pv/alarm.h>
#include <pv/pvTimeStamp.h>
#include <pv/pvDatabase.h>
#include <pv/alarm.h>
#include <pv/pvAlarm.h>
#ifdef powersupplyEpicsExportSharedSymbols
# define epicsExportSharedSymbols
# undef powersupplyEpicsExportSharedSymbols
# include <shareLib.h>
#endif
namespace epics { namespace pvDatabase {
epicsShareExtern epics::pvData::PVStructurePtr createPowerSupply();
class PowerSupply;
class epicsShareClass PowerSupply;
typedef std::tr1::shared_ptr<PowerSupply> PowerSupplyPtr;
class PowerSupply :

View File

@ -23,7 +23,6 @@
#include <epicsEvent.h>
#include <epicsThread.h>
#include <epicsExport.h>
#include <pv/standardField.h>
#include <pv/standardPVField.h>
@ -31,6 +30,10 @@
#include <pv/pvAccess.h>
#include "powerSupply.h"
#define epicsExportSharedSymbols
#include <epicsExport.h>
using namespace std;
using std::tr1::static_pointer_cast;
using namespace epics::pvData;