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

@@ -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>