pvDatabaseCPP
4.7.0
|
PvdbcrScalarArrayRecord creates a record with a scalar array value, alarm, and timeStamp. More...
#include <pvdbcrScalarArrayRecord.h>
Public Member Functions | |
POINTER_DEFINITIONS (PvdbcrScalarArrayRecord) | |
virtual | ~PvdbcrScalarArrayRecord () |
POINTER_DEFINITIONS (PVRecord) | |
POINTER_DEFINITIONS (PVCopyTraverseMasterCallback) | |
virtual bool | init () |
Optional initialization method. More... | |
virtual void | start () |
Optional method for derived class. More... | |
virtual void | process () |
Optional method for derived class. More... | |
virtual void | remove () |
remove record from database. More... | |
virtual epics::pvAccess::RPCServiceAsync::shared_pointer | getService (epics::pvData::PVStructurePtr const &pvRequest) |
Optional method for derived class. More... | |
std::string | getRecordName () const |
Get the name of the record. More... | |
PVRecordStructurePtr | getPVRecordStructure () const |
Get the top level PVRecordStructure. More... | |
epics::pvData::PVStructurePtr | getPVStructure () const |
Get the top level PVStructure. More... | |
PVRecordFieldPtr | findPVRecordField (epics::pvData::PVFieldPtr const &pvField) |
Find the PVRecordField for the PVField. More... | |
void | lock () |
Lock the record. More... | |
void | unlock () |
Unlock the record. More... | |
bool | tryLock () |
Try to lock the record. More... | |
void | lockOtherRecord (PVRecordPtr const &otherRecord) |
Lock another record. More... | |
bool | addPVRecordClient (PVRecordClientPtr const &pvRecordClient) |
Add a client that wants to access the record. More... | |
bool | addListener (PVListenerPtr const &pvListener, epics::pvCopy::PVCopyPtr const &pvCopy) |
Add a PVListener. More... | |
void | nextMasterPVField (epics::pvData::PVFieldPtr const &pvField) |
PVCopyTraverseMasterCallback method. More... | |
bool | removeListener (PVListenerPtr const &pvListener, epics::pvCopy::PVCopyPtr const &pvCopy) |
Remove a listener. More... | |
void | beginGroupPut () |
Begins a group of puts. More... | |
void | endGroupPut () |
Ends a group of puts. More... | |
int | getTraceLevel () |
get trace level (0,1,2) means (nothing,lifetime,process) More... | |
void | setTraceLevel (int level) |
set trace level (0,1,2) means (nothing,lifetime,process) More... | |
int | getAsLevel () const |
Get the ASlevel. More... | |
std::string | getAsGroup () const |
Get the AS group name. More... | |
void | setAsLevel (int level) |
set access security level. More... | |
void | setAsGroup (const std::string &group) |
set access security group More... | |
Static Public Member Functions | |
static PvdbcrScalarArrayRecordPtr | create (std::string const &recordName, std::string const &scalarType, int asLevel=0, std::string const &asGroup=std::string("DEFAULT")) |
Create a record. More... | |
static PVRecordPtr | create (std::string const &recordName, epics::pvData::PVStructurePtr const &pvStructure, int asLevel=0, const std::string &asGroup="DEFAULT") |
Creates a soft record. More... | |
Protected Member Functions | |
void | initPVRecord () |
Initializes the base class. More... | |
PvdbcrScalarArrayRecord creates a record with a scalar array value, alarm, and timeStamp.
Definition at line 28 of file pvdbcrScalarArrayRecord.h.
|
inlinevirtual |
The Destructor.
Definition at line 40 of file pvdbcrScalarArrayRecord.h.
|
inherited |
Add a PVListener.
This must be called before calling pvRecordField.addListener.
pvListener | The listener. |
pvCopy | The pvStructure that has the client fields. |
Definition at line 236 of file pvRecord.cpp.
|
inherited |
Add a client that wants to access the record.
Every client that accesses the record must call this so that the client can be notified when the record is deleted.
pvRecordClient | The client. |
Definition at line 205 of file pvRecord.cpp.
|
inherited |
Begins a group of puts.
Definition at line 289 of file pvRecord.cpp.
|
static |
Create a record.
recordName | The record name. |
scalarType | The type for the value field |
asLevel | The access security level. |
asGroup | The access security group. |
Definition at line 37 of file pvdbcrScalarArrayRecord.cpp.
|
staticinherited |
Creates a soft record.
recordName | The name of the record, which is also the channelName. |
pvStructure | The top level structure. |
asLevel | AS level (default: ASL0) |
asGroup | AS group (default: DEFAULT) |
Definition at line 38 of file pvRecord.cpp.
|
inherited |
Ends a group of puts.
Definition at line 304 of file pvRecord.cpp.
|
inherited |
Find the PVRecordField for the PVField.
This is called by the pvCopy facility.
pvField | The PVField. |
Referenced by epics::pvDatabase::PVRecord::nextMasterPVField(), and epics::pvDatabase::PVRecord::process().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get the top level PVRecordStructure.
Definition at line 135 of file pvDatabase.h.
Referenced by epics::pvDatabase::operator<<().
|
inlineinherited |
Get the top level PVStructure.
Definition at line 141 of file pvDatabase.h.
|
inlineinherited |
Get the name of the record.
Definition at line 129 of file pvDatabase.h.
Referenced by epics::pvDatabase::operator<<().
|
inlinevirtualinherited |
Optional method for derived class.
Return a service corresponding to the specified request PVStructure.
pvRequest | The request PVStructure |
Definition at line 106 of file pvDatabase.h.
|
inlineinherited |
get trace level (0,1,2) means (nothing,lifetime,process)
Definition at line 233 of file pvDatabase.h.
|
inlinevirtualinherited |
Optional initialization method.
A derived method Must call initPVRecord.
Reimplemented in epics::pvDatabase::PvdbcrProcessRecord, epics::pvDatabase::PvdbcrTraceRecord, epics::pvDatabase::PvdbcrAddRecord, and epics::pvDatabase::PvdbcrRemoveRecord.
Definition at line 73 of file pvDatabase.h.
|
protectedinherited |
Initializes the base class.
Must be called by derived classes.
Definition at line 116 of file pvRecord.cpp.
|
inherited |
Lock the record.
Any code must lock while accessing a record.
Definition at line 170 of file pvRecord.cpp.
Referenced by epics::pvDatabase::PVRecord::lockOtherRecord().
|
inherited |
Lock another record.
A client that holds the lock for one record can lock one other record. A client must not call this if the client already has the lock for more then one record.
otherRecord | The other record to lock. |
Definition at line 191 of file pvRecord.cpp.
References epics::pvDatabase::PVRecord::lock(), and epics::pvDatabase::PVRecord::unlock().
|
virtualinherited |
PVCopyTraverseMasterCallback method.
pvField | The next client field. |
Implements epics::pvCopy::PVCopyTraverseMasterCallback.
Definition at line 252 of file pvRecord.cpp.
References epics::pvDatabase::PVRecord::findPVRecordField().
epics::pvDatabase::PvdbcrScalarArrayRecord::POINTER_DEFINITIONS | ( | PvdbcrScalarArrayRecord | ) |
|
inherited |
|
inherited |
|
virtualinherited |
Optional method for derived class.
It is the method that makes a record smart. If it encounters errors it should raise alarms and/or call the message method provided by the base class. If the pvStructure has a top level timeStamp, the base class sets the timeStamp to the current time.
Reimplemented in epics::pvDatabase::PvdbcrProcessRecord, epics::pvDatabase::PvdbcrTraceRecord, epics::pvDatabase::PvdbcrAddRecord, and epics::pvDatabase::PvdbcrRemoveRecord.
Definition at line 126 of file pvRecord.cpp.
References epics::pvDatabase::PVRecord::findPVRecordField().
|
virtualinherited |
remove record from database.
Remove the PVRecord. Release any resources used and get rid of listeners and requesters. If derived class overrides this then it must call PVRecord::remove() after it has destroyed any resorces it uses.
Definition at line 104 of file pvRecord.cpp.
References epics::pvDatabase::PVDatabase::getMaster().
|
inherited |
Remove a listener.
pvListener | The listener. |
pvCopy | The pvStructure that has the client fields. |
Definition at line 264 of file pvRecord.cpp.
|
inlineinherited |
set access security group
group | The group name |
Definition at line 260 of file pvDatabase.h.
|
inlineinherited |
|
inlineinherited |
set trace level (0,1,2) means (nothing,lifetime,process)
level | The level |
Definition at line 238 of file pvDatabase.h.
|
inlinevirtualinherited |
Optional method for derived class.
It is called before record is added to database.
Definition at line 79 of file pvDatabase.h.
|
inherited |
Try to lock the record.
If true then just like lock. If falseclient can not access record. Code can try to simultaneously hold the lock for more than two records by calling this method but must be willing to accept failure.
Definition at line 184 of file pvRecord.cpp.
|
inherited |
Unlock the record.
The code that calls lock must unlock when done accessing the record.
Definition at line 177 of file pvRecord.cpp.
Referenced by epics::pvDatabase::PVRecord::lockOtherRecord().