ContextLocal added

This commit is contained in:
Matej Sekoranja
2015-02-24 10:59:30 +01:00
parent c0694e2d69
commit e79c70c74c
5 changed files with 114 additions and 80 deletions

View File

@@ -10,46 +10,27 @@
/* Author: Marty Kraimer */
#include <cstddef>
#include <cstdlib>
#include <cstddef>
#include <string>
#include <cstdio>
#include <memory>
#include <vector>
#include <iostream>
#include <pv/channelProviderLocal.h>
#include <pv/serverContext.h>
#include <pv/exampleDatabase.h>
using namespace std;
using std::tr1::static_pointer_cast;
using namespace epics::pvData;
using namespace epics::pvAccess;
using namespace epics::pvDatabase;
int main(int argc,char *argv[])
{
PVDatabasePtr master = PVDatabase::getMaster();
ChannelProviderLocalPtr channelProvider = getChannelProviderLocal();
ExampleDatabase::create();
ServerContext::shared_pointer ctx =
startPVAServer(PVACCESS_ALL_PROVIDERS,0,true,true);
cout << "exampleDatabase\n";
PVStringArrayPtr pvNames = master->getRecordNames();
cout << "recordNames" << endl << *pvNames << endl;
string str;
while(true) {
cout << "Type exit to stop: \n";
getline(cin,str);
if(str.compare("exit")==0) break;
}
ctx->destroy();
epicsThreadSleep(1.0);
channelProvider->destroy();
ContextLocal::shared_pointer contextLocal = ContextLocal::create();
contextLocal->start();
cout << "pvAccess server exampleDatabase running..." << endl;
epics::pvData::PVStringArrayPtr pvNames = PVDatabase::getMaster()->getRecordNames();
cout << "Hosted records: " << endl << *pvNames << endl;
contextLocal->waitForExit();
return 0;
}