automatic ClientFactory::start()
register the "pva" provider automatically.
This commit is contained in:
@ -20,7 +20,6 @@
|
|||||||
|
|
||||||
//! [Headers]
|
//! [Headers]
|
||||||
#include <pv/configuration.h>
|
#include <pv/configuration.h>
|
||||||
#include <pv/clientFactory.h>
|
|
||||||
#include <pv/caProvider.h>
|
#include <pv/caProvider.h>
|
||||||
#include <pva/client.h>
|
#include <pva/client.h>
|
||||||
//! [Headers]
|
//! [Headers]
|
||||||
@ -138,8 +137,7 @@ int main(int argc, char *argv[]) {
|
|||||||
.push_env()
|
.push_env()
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
// add "pva" provider to registry
|
// "pva" provider automatically in registry
|
||||||
pva::ClientFactory::start();
|
|
||||||
// add "ca" provider to registry
|
// add "ca" provider to registry
|
||||||
pva::ca::CAClientFactory::start();
|
pva::ca::CAClientFactory::start();
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include "pv/clientFactory.h"
|
|
||||||
#include "pva/client.h"
|
#include "pva/client.h"
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
@ -17,8 +16,6 @@ int main(int argc, char *argv[])
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
epics::pvAccess::ClientFactory::start();
|
|
||||||
|
|
||||||
pvac::ClientProvider provider("pva");
|
pvac::ClientProvider provider("pva");
|
||||||
|
|
||||||
pvac::ClientChannel channel(provider.connect(argv[1]));
|
pvac::ClientChannel channel(provider.connect(argv[1]));
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
#include <epicsGuard.h>
|
#include <epicsGuard.h>
|
||||||
|
|
||||||
#include <pv/configuration.h>
|
#include <pv/configuration.h>
|
||||||
#include <pv/clientFactory.h>
|
|
||||||
#include <pv/caProvider.h>
|
#include <pv/caProvider.h>
|
||||||
#include <pv/thread.h>
|
#include <pv/thread.h>
|
||||||
#include <pva/client.h>
|
#include <pva/client.h>
|
||||||
@ -238,8 +237,7 @@ int main(int argc, char *argv[]) {
|
|||||||
.push_env()
|
.push_env()
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
// add "pva" provider to registry
|
// "pva" provider automatically in registry
|
||||||
pva::ClientFactory::start();
|
|
||||||
// add "ca" provider to registry
|
// add "ca" provider to registry
|
||||||
pva::ca::CAClientFactory::start();
|
pva::ca::CAClientFactory::start();
|
||||||
|
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
//! [Headers]
|
//! [Headers]
|
||||||
#include <pv/configuration.h>
|
#include <pv/configuration.h>
|
||||||
#include <pv/clientFactory.h>
|
|
||||||
#include <pv/caProvider.h>
|
#include <pv/caProvider.h>
|
||||||
#include <pva/client.h>
|
#include <pva/client.h>
|
||||||
//! [Headers]
|
//! [Headers]
|
||||||
@ -182,8 +181,7 @@ int main(int argc, char *argv[]) {
|
|||||||
.push_env()
|
.push_env()
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
// add "pva" provider to registry
|
// "pva" provider automatically in registry
|
||||||
pva::ClientFactory::start();
|
|
||||||
// add "ca" provider to registry
|
// add "ca" provider to registry
|
||||||
pva::ca::CAClientFactory::start();
|
pva::ca::CAClientFactory::start();
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <pv/clientFactory.h>
|
|
||||||
#include <pv/pvAccess.h>
|
#include <pv/pvAccess.h>
|
||||||
|
|
||||||
#include <pv/caProvider.h>
|
#include <pv/caProvider.h>
|
||||||
@ -1670,8 +1669,7 @@ int main (int argc, char *argv[])
|
|||||||
serviceRequest = true;
|
serviceRequest = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// register "pva" and "ca" providers
|
// register "ca" provider
|
||||||
ClientFactory::start();
|
|
||||||
epics::pvAccess::ca::CAClientFactory::start();
|
epics::pvAccess::ca::CAClientFactory::start();
|
||||||
|
|
||||||
// PVs mode
|
// PVs mode
|
||||||
@ -1878,9 +1876,6 @@ int main (int argc, char *argv[])
|
|||||||
while (true)
|
while (true)
|
||||||
epicsThreadSleep(timeOut);
|
epicsThreadSleep(timeOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
epics::pvAccess::ca::CAClientFactory::stop();
|
|
||||||
ClientFactory::stop();
|
|
||||||
}
|
}
|
||||||
// service RPC mode
|
// service RPC mode
|
||||||
else
|
else
|
||||||
@ -2020,7 +2015,6 @@ int main (int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ClientFactory::start();
|
|
||||||
ChannelProvider::shared_pointer provider = ChannelProviderRegistry::clients()->getProvider("pva");
|
ChannelProvider::shared_pointer provider = ChannelProviderRegistry::clients()->getProvider("pva");
|
||||||
assert(provider);
|
assert(provider);
|
||||||
|
|
||||||
@ -2060,8 +2054,6 @@ int main (int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
channel->destroy();
|
channel->destroy();
|
||||||
|
|
||||||
ClientFactory::stop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cleanupAndReport)
|
if (cleanupAndReport)
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
#include <epicsExit.h>
|
#include <epicsExit.h>
|
||||||
#include <epicsGuard.h>
|
#include <epicsGuard.h>
|
||||||
|
|
||||||
#include <pv/clientFactory.h>
|
|
||||||
#include <pv/caProvider.h>
|
#include <pv/caProvider.h>
|
||||||
#include <pv/pvAccess.h>
|
#include <pv/pvAccess.h>
|
||||||
#include <epicsThread.h>
|
#include <epicsThread.h>
|
||||||
@ -505,7 +504,6 @@ int main (int argc, char *argv[])
|
|||||||
|
|
||||||
// ================ Connect channels and start operations
|
// ================ Connect channels and start operations
|
||||||
|
|
||||||
ClientFactory::start();
|
|
||||||
epics::pvAccess::ca::CAClientFactory::start();
|
epics::pvAccess::ca::CAClientFactory::start();
|
||||||
|
|
||||||
bool allOK = true;
|
bool allOK = true;
|
||||||
@ -613,9 +611,6 @@ int main (int argc, char *argv[])
|
|||||||
|
|
||||||
// ========================== All done now
|
// ========================== All done now
|
||||||
|
|
||||||
epics::pvAccess::ca::CAClientFactory::stop();
|
|
||||||
ClientFactory::stop();
|
|
||||||
|
|
||||||
if(debugFlag)
|
if(debugFlag)
|
||||||
std::cerr<<"Done\n";
|
std::cerr<<"Done\n";
|
||||||
return allOK ? 0 : 1;
|
return allOK ? 0 : 1;
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <pv/clientFactory.h>
|
|
||||||
#include <pv/pvAccess.h>
|
#include <pv/pvAccess.h>
|
||||||
#include <pv/caProvider.h>
|
#include <pv/caProvider.h>
|
||||||
|
|
||||||
@ -137,7 +136,6 @@ int main (int argc, char *argv[])
|
|||||||
|
|
||||||
bool allOK = true;
|
bool allOK = true;
|
||||||
|
|
||||||
ClientFactory::start();
|
|
||||||
epics::pvAccess::ca::CAClientFactory::start();
|
epics::pvAccess::ca::CAClientFactory::start();
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -218,8 +216,6 @@ int main (int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
epics::pvAccess::ca::CAClientFactory::stop();
|
|
||||||
ClientFactory::stop();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cleanupAndReport)
|
if (cleanupAndReport)
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <pv/clientFactory.h>
|
|
||||||
#include <pv/pvAccess.h>
|
#include <pv/pvAccess.h>
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -619,7 +618,6 @@ int main (int argc, char *argv[])
|
|||||||
address = uri.host;
|
address = uri.host;
|
||||||
}
|
}
|
||||||
|
|
||||||
ClientFactory::start();
|
|
||||||
epics::pvAccess::ca::CAClientFactory::start();
|
epics::pvAccess::ca::CAClientFactory::start();
|
||||||
|
|
||||||
ChannelProvider::shared_pointer provider(ChannelProviderRegistry::clients()->getProvider(providerName));
|
ChannelProvider::shared_pointer provider(ChannelProviderRegistry::clients()->getProvider(providerName));
|
||||||
@ -733,8 +731,5 @@ int main (int argc, char *argv[])
|
|||||||
std::cerr << "unknown exception caught" << std::endl;
|
std::cerr << "unknown exception caught" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
epics::pvAccess::ca::CAClientFactory::stop();
|
|
||||||
ClientFactory::stop();
|
|
||||||
|
|
||||||
return allOK ? 0 : 1;
|
return allOK ? 0 : 1;
|
||||||
}
|
}
|
||||||
|
@ -197,3 +197,15 @@ void CAClientFactory::stop()
|
|||||||
{
|
{
|
||||||
// unregister now done with exit hook
|
// unregister now done with exit hook
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// perhaps useful during dynamic loading?
|
||||||
|
extern "C" {
|
||||||
|
void registerClientProvider_ca()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
CAClientFactory::start();
|
||||||
|
} catch(std::exception& e){
|
||||||
|
std::cerr<<"Error loading ca: "<<e.what()<<"\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // extern "C"
|
||||||
|
@ -41,3 +41,25 @@ void ClientFactory::stop()
|
|||||||
{
|
{
|
||||||
// unregister now done with exit hook
|
// unregister now done with exit hook
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// automatically register on load
|
||||||
|
namespace {
|
||||||
|
struct pvaloader
|
||||||
|
{
|
||||||
|
pvaloader() {
|
||||||
|
ClientFactory::start();
|
||||||
|
}
|
||||||
|
} pvaloaderinstance;
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
// perhaps useful during dynamic loading?
|
||||||
|
extern "C" {
|
||||||
|
void registerClientProvider_pva()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
ClientFactory::start();
|
||||||
|
} catch(std::exception& e){
|
||||||
|
std::cerr<<"Error loading pva: "<<e.what()<<"\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} // extern "C"
|
||||||
|
Reference in New Issue
Block a user