added support for privider ca; many minor changes; note exampleDatabaseEasyPVA.zip changed

This commit is contained in:
Marty Kraimer
2015-03-25 10:38:22 -04:00
parent 6a351cb5a2
commit 6b6f4bd2a9
15 changed files with 575 additions and 29 deletions
+3
View File
@@ -231,6 +231,9 @@ void EasyChannel::issueConnect()
connectState = connectActive;
ChannelProviderRegistry::shared_pointer reg = getChannelProviderRegistry();
ChannelProvider::shared_pointer provider = reg->getProvider(providerName);
if(!provider) {
throw std::runtime_error(getChannelName() + " provider " + providerName + " not registered");
}
channel = provider->createChannel(channelName,channelRequester,ChannelProvider::PRIORITY_DEFAULT);
if(!channel) {
throw std::runtime_error(channelConnectStatus.getMessage());
+3 -1
View File
@@ -24,7 +24,9 @@ class EasyNTMultiChannel;
typedef std::tr1::shared_ptr<EasyNTMultiChannel> EasyNTMultiChannelPtr;
/**
* @brief Support for multiple channels where each channel has a value field that is a scalar double.
* @brief Support for multiple channels where each channel has a value field that
* is a scalar, scalarArray, or enumerated structure.
* The data is provided via normativeType NTMultiChannel.
* If any problems arise an exception is thrown.
*
* @author mrk
+10 -2
View File
@@ -14,10 +14,12 @@
#include <pv/easyPVA.h>
#include <pv/createRequest.h>
#include <pv/clientFactory.h>
#include <pv/caProvider.h>
using std::tr1::static_pointer_cast;
using namespace epics::pvData;
using namespace epics::pvAccess;
using namespace epics::pvAccess::ca;
using namespace std;
namespace epics { namespace easyPVA {
@@ -44,7 +46,10 @@ namespace easyPVAPvt {
saveFirst = firstTime;
firstTime = false;
}
if(saveFirst) ClientFactory::start();
if(saveFirst) {
ClientFactory::start();
CAClientFactory::start();
}
}
static void EasyPVABeingDestroyed() {
@@ -54,7 +59,10 @@ namespace easyPVAPvt {
--numberEasyPVA;
numLeft = numberEasyPVA;
}
if(numLeft<=0) ClientFactory::stop();
if(numLeft<=0) {
ClientFactory::stop();
CAClientFactory::stop();
}
}
};
-1
View File
@@ -1565,7 +1565,6 @@ public:
* @brief Create a EasyMultiChannel.
* @param channelNames The name. of the channel..
* @param providerName The name of the provider.
* @param u The union interface for each channel.
* @return The interface to the EasyPVAStructure.
*/
static EasyMultiChannelPtr create(