update documentation; remove recordList

This commit is contained in:
mrkraimer
2015-10-02 08:48:30 -04:00
parent 1050b980ec
commit 90a96f4ee4
15 changed files with 2082 additions and 289 deletions
+5 -67
View File
@@ -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 &lt;&lt; "RecordListRecord::create failed" &lt;&lt; endl;
} else {
result = master->addRecord(pvRecord);
if(!result) cout&lt;&lt; "record " &lt;&lt; recordName &lt;&lt; " not added" &lt;&lt; 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-&gt;addRecord(pvRecord);
if(!result) cout&lt;&lt; "record " &lt;&lt; recordName &lt;&lt; " not added" &lt;&lt; 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-&gt;addRecord(pvRecord);
if(!result) cout&lt;&lt; "record " &lt;&lt; recordName &lt;&lt; " not added" &lt;&lt; endl;
</pre>
<h2>exampleServer</h2>
<h3>Overview</h3>
@@ -1428,10 +1373,6 @@ int main(int argc,char *argv[])
pvRecord = TraceRecord::create(recordName);
result = master-&gt;addRecord(pvRecord);
if(!result) cout&lt;&lt; "record " &lt;&lt; recordName &lt;&lt; " not added" &lt;&lt; endl;
recordName = "recordListPGRPC";
pvRecord = RecordListRecord::create(recordName);
result = master-&gt;addRecord(pvRecord);
if(!result) cout&lt;&lt; "record " &lt;&lt; recordName &lt;&lt; " not added" &lt;&lt; endl;
ServerContext::shared_pointer pvaServer =
startPVAServer(PVACCESS_ALL_PROVIDERS,0,true,true);
PVStringArrayPtr pvNames = master-&gt;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>