From 515282abfe57932429ff80673aecf1d41feea8ee Mon Sep 17 00:00:00 2001
From: dhickin
NOTE:pvRequest.html must be updated since it is based on an earlier version of pvCopy that -had knowlege of PVRecord. The C++ version was implemented in pvDatabaseCPP +had knowledge of PVRecord. The C++ version was implemented in pvDatabaseCPP and the Java version on pvIOCJava. At present only the C++ version of the new API for pvCopy is implemented.
@@ -65,13 +65,13 @@ At present only the C++ version of the new API for pvCopy is implemented. Given an ascii string createRequest creates a PVStructure that provides a pvData representation of the information from the ascii string. It is this structure that can be passed to the channel create methods.This consists of two components:
NOTE: Should the method causeMonitor have arguments pvField and pvTop -be defined so that they can not be modfied. -This would be posssible if the following was defined: +be defined so that they can not be modified. +This would be possible if the following was defined:
typedef std::tr1::shared_ptr<const PVField> PVFieldConstPtr;
typedef std::tr1::shared_ptr<const PVStructure> PVStructureConstPtr;
@@ -519,7 +519,7 @@ virtual bool causeMonitor(
PVStructureConstPtr const &pvTop,
MonitorElementPtr const &monitorElement) = 0;
-But just adding these definitions is not sufficent.
+But just adding these definitions is not sufficient.
In addition all methods defined in pvDataCPP must be checked.
In particular many of the methods in Convert must have
their arguments modified.
@@ -545,15 +545,15 @@ structure powerSupply
structure power
double value
structure alarm
- struvture display
+ structure display
structure voltage
double value
structure alarm
- struvture display
+ structure display
structure current
double value
structure alarm
- struvture display
+ structure display
A pvAccess client wants to create a monitor on the powerSupply as follows: The client wants a top level structure that looks like: @@ -578,7 +578,7 @@ client wants. It can be attached to any field via the following options: [plugin=onChange,raiseMonitor=value] This plugin will trigger a monitor for the field only if the field changes -value. In addition value equals false means do not raise a monotor +value. In addition value equals false means do not raise a monitor for changes to this field. But if a change to another field does cause a monitor the change to this field will be passed to the client. diff --git a/documentation/pvArray.html b/documentation/pvArray.html index 9f7c031..9de1fb7 100644 --- a/documentation/pvArray.html +++ b/documentation/pvArray.html @@ -68,7 +68,7 @@ license.
Since the last version of this document the following changes have -been made to the proposed interface definitionsi for PVValueArray:
+been made to the proposed interface definitions for PVValueArray:pvData (Process Variable Data) defines and implements an efficent way to store, access, and communicate memory resident data structures.This statement appears as the first sentence of pvDataJava.html. -A few sentances later the document makes clear that communication +A few sentences later the document makes clear that communication includes network communication. Thus pvData provides an interface for network accessible structured data. If the interfaces for C++ and Java are similar then @@ -160,7 +160,7 @@ PVScalar and extensions, PVArray and extensions. PVStructureArray is not discussed.
This is the base for all the PVXXX iterfaces. +
This is the base for all the PVXXX interfaces. It provides basic methods for allowing network transfer and for traversing structured data. The pvDataJava and pvDataCPP definitions are similar. @@ -306,7 +306,7 @@ methods:
The proposed version is like the pvDataCPP version except for dumpValue -and the stream interators.
+and the stream iterators.
interface PVScalar extends PVField {
@@ -1161,7 +1161,7 @@ typedef std::tr1::shared_ptr<PVStringArray> PVStringArrayPtr;
The comparison is always with std::vector. In addition it shows what is defined by by std::vector but not by shared_vector.
Someone who already understand the C++ STL can understand shared_vector -by just looking at the brief summarys. +by just looking at the brief summaries. For others the brief summary is followed by tutorial information.
Brief Summary
C c(); Default constructor; c is empty.
-C c(n); c is initialized with n elementis with the value value_type{};
+C c(n); c is initialized with n elements with the value value_type{};
offset is 0; size is n;
C c(n,e); Initialize c with n copies of e.
offset is 0; size is n;
@@ -1373,7 +1373,7 @@ shared_vector(size_t n, value_type e);
The first three constructors all create a new shared_vector
by also creating a new raw array,
The difference is the size of the array, i.e. how many elements it contains,
-and how the elements are initalized.
+and how the elements are initialized.
NOTE EXISTING: Why did emptyArray disply the above. +
NOTE EXISTING: Why did emptyArray display the above. Should it be "emptyArray {0} []"?
shared_vector supports both iterators and reverse iterators as defined by the STL. For both constant iterators are also defined. -A constant iterator does not allow an array elemnent to be modified.
+A constant iterator does not allow an array element to be modified.The following is an example of a constant iterator.
int32 sum = 0; @@ -1705,7 +1705,7 @@ produces:void make_unique() Make caller the only user of std::tr1::shared_ptr bool unique() Is the caller the only user of std::tr1::shared_ptr -void slice(offset,length) Change window offset andsize +void slice(offset,length) Change window offset and size // following should only be used for debugging const std::tr1::shared_ptr<E>& diff --git a/documentation/pvDataDiscussion.html b/documentation/pvDataDiscussion.html index 5f9b13b..d059dd7 100644 --- a/documentation/pvDataDiscussion.html +++ b/documentation/pvDataDiscussion.html @@ -70,11 +70,11 @@ license. more and more member functions. These member functions have nothing to do with the primary primary purpose for pvData: -pvData (Process Variable Data) defines and implements an efficent +pvData (Process Variable Data) defines and implements an efficient way to store, access, and communicate memory resident data structures.This statement appears as the first sentence of pvDataJava.html. -A few sentances later the document makes it clear that communication -includes efficent network communication. +A few sentences later the document makes it clear that communication +includes efficient network communication. Thus pvData provides an interface for network accessible structured data. The problem of adding member functions that have nothing to do with the primary purpose started with the Java API. @@ -82,7 +82,7 @@ It already had extra methods that solved problems that should have had a differe This document removes the extra methods so that when new problems arise in the future the solution will not involve adding new member functions to the introspection and data API. -The introspection and data API for pvData should only encapuslate methods that support the primary purpose +
The introspection and data API for pvData should only encapsulate methods that support the primary purpose stated above. The interfaces for C++ and Java should be similar so that someone who understands the interface in one of the languages @@ -308,7 +308,7 @@ public interface PVDataCreate { The existing Java implementation of toString displayed all elements. For large arrays this is not desirable. The new methods provide a way for the client to limit the number of elements. -The default might be set to something like display up to 10 elements with 5 fron the beginning and 5 from the end.
+The default might be set to something like display up to 10 elements with 5 from the beginning and 5 from the end.For C++ this can be a replacement for dumpValue.
PVBooleanArray, ..., PVStructureArray
The old get and put are replaced by two new and simpler methods: