update documentation; remove recordList
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
<h1>pvDatabaseCPP</h1>
|
||||
<!-- Maturity: Working Draft or Request for Comments, or Recommendation, and date. -->
|
||||
|
||||
<h2 class="nocount">EPICS v4 Working Group, Working Draft, 09-Oct-2014</h2>
|
||||
<h2 class="nocount">EPICS v4 Working Group, Working Draft, 02-October-2015</h2>
|
||||
<dl>
|
||||
<dt>Latest version:</dt>
|
||||
<dd><a
|
||||
@@ -46,11 +46,11 @@
|
||||
</dd>
|
||||
<dt>This version:</dt>
|
||||
<dd><a
|
||||
href= "pvDatabaseCPP_20140811.html">pvDatabaseCPP20140811.html
|
||||
href= "pvDatabaseCPP_20151002.html">pvDatabaseCPP20151002.html
|
||||
</a> </dd>
|
||||
<dt>Previous version:</dt>
|
||||
<dd><a
|
||||
href= "pvDatabaseCPP_20140710.html">pvDatabaseCPP20140710.html
|
||||
href= "pvDatabaseCPP_20140811.html">pvDatabaseCPP20140811.html
|
||||
</a> </dd>
|
||||
<dt>Editors:</dt>
|
||||
<dd>Marty Kraimer, BNL</dd>
|
||||
@@ -78,7 +78,7 @@ V4 control system programming environment:<br />
|
||||
|
||||
<h2 class="nocount">Status of this Document</h2>
|
||||
|
||||
<p>This is the 09-Oct-2014 version of of pvDatabaseCPP.</p>
|
||||
<p>This is the 02-October-2015 version of of pvDatabaseCPP.</p>
|
||||
<p>This version is a complete implementation of what is described in this manual.
|
||||
</p>
|
||||
</div>
|
||||
@@ -474,22 +474,6 @@ include "dbPv.dbd"
|
||||
<h3>src/special</h3>
|
||||
<p>This directory has the following files:</p>
|
||||
<dl>
|
||||
<dt>recordList.h</dt>
|
||||
<dd>This implements a PVRecord that provides a list of the names
|
||||
of the records in the PVDatabase.
|
||||
It also serves as an example of how to implement a service.
|
||||
The exampleDatabase creates an instance via the following code:
|
||||
<pre>
|
||||
recordName = "laptoprecordListPGRPC";
|
||||
pvRecord = RecordListRecord::create(recordName);
|
||||
if(pvRecord==NULL) {
|
||||
cout << "RecordListRecord::create failed" << endl;
|
||||
} else {
|
||||
result = master->addRecord(pvRecord);
|
||||
if(!result) cout<< "record " << recordName << " not added" << endl;
|
||||
}
|
||||
</pre>
|
||||
</dd>
|
||||
<dt>traceRecord.h</dt>
|
||||
<dd>This implements a PVRecord that can set the trace level for
|
||||
another record. See below for a discussion of trace level.</dd>
|
||||
@@ -1116,45 +1100,6 @@ pvRecord = TraceRecord::create(recordName);
|
||||
result = master->addRecord(pvRecord);
|
||||
if(!result) cout<< "record " << recordName << " not added" << endl;
|
||||
</pre>
|
||||
<h3>recordList</h3>
|
||||
<p>This implements a PVRecord that allows a client to
|
||||
get the names of all the PVRecords in the PVDatabase.
|
||||
It follows the pattern of a channelPutGet
|
||||
record:
|
||||
</p>
|
||||
<pre>
|
||||
traceRecord
|
||||
structure argument
|
||||
string database master
|
||||
string regularExpression .*
|
||||
structure result
|
||||
string status
|
||||
string[] name
|
||||
</pre>
|
||||
where:
|
||||
<dl>
|
||||
<dt>database</dt>
|
||||
<dd>The name of the database. The default is "master"</dd>
|
||||
<dt>regularExpression</dt>
|
||||
<dd>For now this is ignored and the complete list of names is always
|
||||
returned.</dd>
|
||||
<dt>status</dt>
|
||||
<dd>The status of a putGet request.</dd>
|
||||
<dt>name</dt>
|
||||
<dd>The array of record names.</dd>
|
||||
</dl>
|
||||
<p>Note that swtshell, which is a Java GUI tool, has a command <b>channelList</b> that
|
||||
requires that a record of this type is present and calls it.
|
||||
Thus user code does not have to use a channelGetPut to get the list
|
||||
of record names.</p>
|
||||
<p>testExampleServerMain.cpp has an example of how to create a traceRecord:
|
||||
</p>
|
||||
<pre>
|
||||
recordName = "recordListPGRPC";
|
||||
pvRecord = RecordListRecord::create(recordName);
|
||||
result = master->addRecord(pvRecord);
|
||||
if(!result) cout<< "record " << recordName << " not added" << endl;
|
||||
</pre>
|
||||
|
||||
<h2>exampleServer</h2>
|
||||
<h3>Overview</h3>
|
||||
@@ -1428,10 +1373,6 @@ int main(int argc,char *argv[])
|
||||
pvRecord = TraceRecord::create(recordName);
|
||||
result = master->addRecord(pvRecord);
|
||||
if(!result) cout<< "record " << recordName << " not added" << endl;
|
||||
recordName = "recordListPGRPC";
|
||||
pvRecord = RecordListRecord::create(recordName);
|
||||
result = master->addRecord(pvRecord);
|
||||
if(!result) cout<< "record " << recordName << " not added" << endl;
|
||||
ServerContext::shared_pointer pvaServer =
|
||||
startPVAServer(PVACCESS_ALL_PROVIDERS,0,true,true);
|
||||
PVStringArrayPtr pvNames = master->getRecordNames();
|
||||
@@ -1450,7 +1391,7 @@ This:
|
||||
<li>Gets a pointer to the master database.</li>
|
||||
<li>Creates the local Channel Provider. This starts the pvAccess server.</li>
|
||||
<li>Creates record exampleServer </li>
|
||||
<li>creates records traceRecordPGRPC and recordListPGRPC</li>
|
||||
<li>creates record traceRecordPGRPC</li>
|
||||
<li>lists all the records</li>
|
||||
<li>Runs forever until the user types exit on standard in.</li>
|
||||
</ul>
|
||||
@@ -1489,9 +1430,6 @@ or via PVAccess.</p>
|
||||
<dd>An array record that is an instance of a record with a process method
|
||||
that does nothing. It can be tested like exampleDouble. In addition channelArray can
|
||||
also be used.</dd>
|
||||
<dt>laptoprecordListPGRPC</dt>
|
||||
<dd>Implements the record expected by swtshell channelList.
|
||||
It can also be used via channelPutGet.</dd>
|
||||
<dt>traceRecordPGRPC</dt>
|
||||
<dd>This can be used via channelPutGet to set the trace level of another record.</dd>
|
||||
</dl>
|
||||
|
||||
Reference in New Issue
Block a user