initialize PVRecord with access security group/level
This commit is contained in:
@ -37,9 +37,11 @@ namespace epics { namespace pvDatabase {
|
|||||||
|
|
||||||
PVRecordPtr PVRecord::create(
|
PVRecordPtr PVRecord::create(
|
||||||
string const &recordName,
|
string const &recordName,
|
||||||
PVStructurePtr const & pvStructure)
|
PVStructurePtr const & pvStructure,
|
||||||
|
int asLevel,
|
||||||
|
const std::string& asGroup)
|
||||||
{
|
{
|
||||||
PVRecordPtr pvRecord(new PVRecord(recordName,pvStructure));
|
PVRecordPtr pvRecord(new PVRecord(recordName,pvStructure,asLevel,asGroup));
|
||||||
if(!pvRecord->init()) {
|
if(!pvRecord->init()) {
|
||||||
pvRecord.reset();
|
pvRecord.reset();
|
||||||
}
|
}
|
||||||
@ -49,12 +51,16 @@ PVRecordPtr PVRecord::create(
|
|||||||
|
|
||||||
PVRecord::PVRecord(
|
PVRecord::PVRecord(
|
||||||
string const & recordName,
|
string const & recordName,
|
||||||
PVStructurePtr const & pvStructure)
|
PVStructurePtr const & pvStructure,
|
||||||
|
int asLevel_,
|
||||||
|
const std::string& asGroup_)
|
||||||
: recordName(recordName),
|
: recordName(recordName),
|
||||||
pvStructure(pvStructure),
|
pvStructure(pvStructure),
|
||||||
depthGroupPut(0),
|
depthGroupPut(0),
|
||||||
traceLevel(0),
|
traceLevel(0),
|
||||||
isAddListener(false)
|
isAddListener(false),
|
||||||
|
asLevel(asLevel_),
|
||||||
|
asGroup(asGroup_)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,6 +59,7 @@ class epicsShareClass PVRecord :
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
POINTER_DEFINITIONS(PVRecord);
|
POINTER_DEFINITIONS(PVRecord);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Destructor.
|
* The Destructor.
|
||||||
*/
|
*/
|
||||||
@ -112,11 +113,14 @@ public:
|
|||||||
*
|
*
|
||||||
* @param recordName The name of the record, which is also the channelName.
|
* @param recordName The name of the record, which is also the channelName.
|
||||||
* @param pvStructure The top level structure.
|
* @param pvStructure The top level structure.
|
||||||
|
* @param asLevel AS level (default: ASL0)
|
||||||
|
* @param asGroup AS group (default: DEFAULT)
|
||||||
* @return A shared pointer to the newly created record.
|
* @return A shared pointer to the newly created record.
|
||||||
*/
|
*/
|
||||||
static PVRecordPtr create(
|
static PVRecordPtr create(
|
||||||
std::string const & recordName,
|
std::string const & recordName,
|
||||||
epics::pvData::PVStructurePtr const & pvStructure);
|
epics::pvData::PVStructurePtr const & pvStructure,
|
||||||
|
int asLevel = 0, const std::string& asGroup = "DEFAULT");
|
||||||
/**
|
/**
|
||||||
* @brief Get the name of the record.
|
* @brief Get the name of the record.
|
||||||
*
|
*
|
||||||
@ -232,15 +236,30 @@ public:
|
|||||||
* @param level The level
|
* @param level The level
|
||||||
*/
|
*/
|
||||||
void setTraceLevel(int level) {traceLevel = level;}
|
void setTraceLevel(int level) {traceLevel = level;}
|
||||||
|
/**
|
||||||
|
* @brief Get the ASlevel
|
||||||
|
*
|
||||||
|
* @return The level.
|
||||||
|
*/
|
||||||
|
int getAsLevel() const {return asLevel;}
|
||||||
|
/**
|
||||||
|
* @brief Get the AS group name
|
||||||
|
*
|
||||||
|
* @return The name.
|
||||||
|
*/
|
||||||
|
std::string getAsGroup() const {return asGroup;}
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
* @brief Constructor
|
* @brief Constructor
|
||||||
* @param recordName The name of the record
|
* @param recordName The name of the record
|
||||||
* @param pvStructure The top level PVStructutre
|
* @param pvStructure The top level PVStructutre
|
||||||
|
* @param asLevel AS level (default: ASL0)
|
||||||
|
* @param asGroup AS group (default: DEFAULT)
|
||||||
*/
|
*/
|
||||||
PVRecord(
|
PVRecord(
|
||||||
std::string const & recordName,
|
std::string const & recordName,
|
||||||
epics::pvData::PVStructurePtr const & pvStructure);
|
epics::pvData::PVStructurePtr const & pvStructure,
|
||||||
|
int asLevel = 0, const std::string& asGroup = "DEFAULT");
|
||||||
/**
|
/**
|
||||||
* @brief Initializes the base class.
|
* @brief Initializes the base class.
|
||||||
*
|
*
|
||||||
@ -269,6 +288,9 @@ private:
|
|||||||
|
|
||||||
epics::pvData::PVTimeStamp pvTimeStamp;
|
epics::pvData::PVTimeStamp pvTimeStamp;
|
||||||
epics::pvData::TimeStamp timeStamp;
|
epics::pvData::TimeStamp timeStamp;
|
||||||
|
|
||||||
|
int asLevel;
|
||||||
|
std::string asGroup;
|
||||||
};
|
};
|
||||||
|
|
||||||
epicsShareFunc std::ostream& operator<<(std::ostream& o, const PVRecord& record);
|
epicsShareFunc std::ostream& operator<<(std::ostream& o, const PVRecord& record);
|
||||||
|
Reference in New Issue
Block a user