added support for privider ca; many minor changes; note exampleDatabaseEasyPVA.zip changed
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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
@@ -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();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user