fix static build
This commit is contained in:
@ -83,7 +83,7 @@ static std::string toLowerCase(const std::string& input)
|
|||||||
// Data distributor class
|
// Data distributor class
|
||||||
|
|
||||||
static std::string name("distributor");
|
static std::string name("distributor");
|
||||||
bool DataDistributorPlugin::initialized(DataDistributorPlugin::initialize());
|
bool DataDistributorPlugin::initialized(false);
|
||||||
|
|
||||||
std::map<std::string, DataDistributorPtr> DataDistributor::dataDistributorMap;
|
std::map<std::string, DataDistributorPtr> DataDistributor::dataDistributorMap;
|
||||||
epics::pvData::Mutex DataDistributor::dataDistributorMapMutex;
|
epics::pvData::Mutex DataDistributor::dataDistributorMapMutex;
|
||||||
@ -275,8 +275,11 @@ void DataDistributorPlugin::create()
|
|||||||
|
|
||||||
bool DataDistributorPlugin::initialize()
|
bool DataDistributorPlugin::initialize()
|
||||||
{
|
{
|
||||||
DataDistributorPluginPtr pvPlugin = DataDistributorPluginPtr(new DataDistributorPlugin());
|
if (not initialized) {
|
||||||
PVPluginRegistry::registerPlugin(name,pvPlugin);
|
initialized = true;
|
||||||
|
DataDistributorPluginPtr pvPlugin = DataDistributorPluginPtr(new DataDistributorPlugin());
|
||||||
|
PVPluginRegistry::registerPlugin(name,pvPlugin);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#include "pv/pvArrayPlugin.h"
|
#include "pv/pvArrayPlugin.h"
|
||||||
#include "pv/pvTimestampPlugin.h"
|
#include "pv/pvTimestampPlugin.h"
|
||||||
#include "pv/pvDeadbandPlugin.h"
|
#include "pv/pvDeadbandPlugin.h"
|
||||||
|
#include "pv/dataDistributorPlugin.h"
|
||||||
|
|
||||||
using std::tr1::static_pointer_cast;
|
using std::tr1::static_pointer_cast;
|
||||||
using namespace epics::pvData;
|
using namespace epics::pvData;
|
||||||
@ -44,6 +45,7 @@ PVDatabasePtr PVDatabase::getMaster()
|
|||||||
PVArrayPlugin::create();
|
PVArrayPlugin::create();
|
||||||
PVTimestampPlugin::create();
|
PVTimestampPlugin::create();
|
||||||
PVDeadbandPlugin::create();
|
PVDeadbandPlugin::create();
|
||||||
|
DataDistributorPlugin::create();
|
||||||
}
|
}
|
||||||
return pvDatabaseMaster;
|
return pvDatabaseMaster;
|
||||||
}
|
}
|
||||||
|
@ -366,7 +366,7 @@ static void dataDistributorTest()
|
|||||||
PVCopyPtr pvCopy1(PVCopy::create(pvRecordStructure,pvRequest,""));
|
PVCopyPtr pvCopy1(PVCopy::create(pvRecordStructure,pvRequest,""));
|
||||||
PVStructurePtr pvStructureCopy1(pvCopy1->createPVStructure());
|
PVStructurePtr pvStructureCopy1(pvCopy1->createPVStructure());
|
||||||
BitSetPtr bitSet1(new BitSet(pvStructureCopy1->getNumberFields()));
|
BitSetPtr bitSet1(new BitSet(pvStructureCopy1->getNumberFields()));
|
||||||
|
|
||||||
PVCopyPtr pvCopy2(PVCopy::create(pvRecordStructure,pvRequest,""));
|
PVCopyPtr pvCopy2(PVCopy::create(pvRecordStructure,pvRequest,""));
|
||||||
PVStructurePtr pvStructureCopy2(pvCopy2->createPVStructure());
|
PVStructurePtr pvStructureCopy2(pvCopy2->createPVStructure());
|
||||||
BitSetPtr bitSet2(new BitSet(pvStructureCopy2->getNumberFields()));
|
BitSetPtr bitSet2(new BitSet(pvStructureCopy2->getNumberFields()));
|
||||||
@ -383,7 +383,7 @@ static void dataDistributorTest()
|
|||||||
debugOutput("client 2: update 0", result, nSet, bitSet2, pvStructureCopy2);
|
debugOutput("client 2: update 0", result, nSet, bitSet2, pvStructureCopy2);
|
||||||
testOk1(result==true);
|
testOk1(result==true);
|
||||||
testOk1(nSet==1);
|
testOk1(nSet==1);
|
||||||
|
|
||||||
// Update 1: only client 1 gets it
|
// Update 1: only client 1 gets it
|
||||||
pvValue->put(1);
|
pvValue->put(1);
|
||||||
|
|
||||||
@ -398,7 +398,7 @@ static void dataDistributorTest()
|
|||||||
debugOutput("client 2: update 1", result, nSet, bitSet2, pvStructureCopy2);
|
debugOutput("client 2: update 1", result, nSet, bitSet2, pvStructureCopy2);
|
||||||
testOk1(result==false);
|
testOk1(result==false);
|
||||||
testOk1(nSet==0);
|
testOk1(nSet==0);
|
||||||
|
|
||||||
// Update 2: only client 2 gets it
|
// Update 2: only client 2 gets it
|
||||||
pvValue->put(2);
|
pvValue->put(2);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user