use the new ChannelProviderRegistry methods
This commit is contained in:
@@ -37,7 +37,6 @@
|
||||
|
||||
#include <shareLib.h>
|
||||
|
||||
|
||||
namespace epics { namespace pvaClient {
|
||||
|
||||
class PvaClient;
|
||||
@@ -183,6 +182,7 @@ private:
|
||||
bool pvaStarted;
|
||||
bool caStarted;
|
||||
epics::pvData::Mutex mutex;
|
||||
epics::pvAccess::ChannelProviderRegistry::shared_pointer channelRegistry;
|
||||
};
|
||||
|
||||
// folowing private to PvaClientChannel
|
||||
|
||||
@@ -104,22 +104,31 @@ PvaClientPtr PvaClient::get(std::string const & providerNames)
|
||||
PvaClient::PvaClient(std::string const & providerNames)
|
||||
: pvaClientChannelCache(new PvaClientChannelCache()),
|
||||
pvaStarted(false),
|
||||
caStarted(false)
|
||||
caStarted(false),
|
||||
channelRegistry(ChannelProviderRegistry::getChannelProviderRegistry())
|
||||
{
|
||||
stringstream ss(providerNames);
|
||||
string providerName;
|
||||
if(PvaClient::debug) {
|
||||
cout<< "PvaClient::PvaClient()\n";
|
||||
}
|
||||
while (getline(ss, providerName, ' '))
|
||||
{
|
||||
ChannelProviderRegistry::shared_pointer registry(getChannelProviderRegistry());
|
||||
if(providerName=="pva") {
|
||||
if(PvaClient::debug) {
|
||||
cout<< "calling ClientFactory::start()\n";
|
||||
}
|
||||
ClientFactory::start();
|
||||
pvaStarted = true;
|
||||
} else if(providerName=="ca") {
|
||||
if(PvaClient::debug) {
|
||||
cout<< "calling CAClientFactory::start()\n";
|
||||
}
|
||||
CAClientFactory::start();
|
||||
caStarted = true;
|
||||
} else {
|
||||
if(!registry->getProvider(providerName)) {
|
||||
cerr << "PvaClient::get provider " << providerName << " not known" << endl;
|
||||
} else {
|
||||
if(!channelRegistry->getProvider(providerName)) {
|
||||
cerr << "PvaClient::get provider " << providerName << " not known" << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -141,6 +150,7 @@ PvaClient::~PvaClient() {
|
||||
CAClientFactory::stop();
|
||||
if(PvaClient::debug) cout<< "after calling CAClientFactory::stop()\n";
|
||||
}
|
||||
channelRegistry.reset();
|
||||
}
|
||||
|
||||
string PvaClient:: getRequesterName()
|
||||
|
||||
@@ -331,7 +331,7 @@ void PvaClientChannel::issueConnect()
|
||||
}
|
||||
connectState = connectActive;
|
||||
}
|
||||
ChannelProviderRegistry::shared_pointer reg = getChannelProviderRegistry();
|
||||
ChannelProviderRegistry::shared_pointer reg = ChannelProviderRegistry::getChannelProviderRegistry();
|
||||
ChannelProvider::shared_pointer provider = reg->getProvider(providerName);
|
||||
if(!provider) {
|
||||
throw std::runtime_error(channelName + " provider " + providerName + " not registered");
|
||||
|
||||
Reference in New Issue
Block a user