interim commit. First working version of record.
This commit is contained in:
@@ -38,6 +38,7 @@ PVRecordPtr ExampleRecord::create(String const & recordName)
|
||||
PVStructurePtr pvStructure = getStandardPVField()->scalar(pvLong,properties);
|
||||
PVLongPtr pvValue = pvStructure->getLongField("value");
|
||||
PVRecordPtr pvRecord(new ExampleRecord(recordName,pvStructure,pvValue));
|
||||
pvRecord->init();
|
||||
return pvRecord;
|
||||
}
|
||||
ExampleRecord::ExampleRecord(
|
||||
@@ -51,11 +52,14 @@ PVRecordPtr ExampleRecord::create(String const & recordName)
|
||||
bool ExampleRecord::isSynchronous() {return true;}
|
||||
|
||||
void ExampleRecord::process(
|
||||
RecordProcessRequesterPtr const &processRequester)
|
||||
RecordProcessRequesterPtr const &processRequester,bool alreadyLocked)
|
||||
{
|
||||
if(!alreadyLocked) lock();
|
||||
pvValue->put(pvValue->get() + 1);
|
||||
processRequester->recordProcessResult(Status::Ok);
|
||||
unlock();
|
||||
processRequester->recordProcessComplete();
|
||||
dequeueProcessRequest(processRequester);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user