Revert "bug"

This reverts commit d228b193fd.
This commit is contained in:
2026-04-30 16:43:25 +02:00
parent bdefd57cf6
commit 6c63de1d84
2 changed files with 16 additions and 13 deletions
+14 -11
View File
@@ -57,7 +57,7 @@ void ePowerSwitchEquipment::refreshSocket(int socketId) {
std::string epicsCurrentSocketState;
mepicscaReturnCode =
this->outletGetRecords.at(socketId).get(&epicsCurrentSocketState);
this->outletGetRecords.at(socketId)->get(&epicsCurrentSocketState);
if (mepicscaReturnCode != CM_SUCCESS) {
fMfe->Msg(MERROR, __FUNCTION__,
@@ -68,8 +68,8 @@ void ePowerSwitchEquipment::refreshSocket(int socketId) {
}
if (epicsCurrentSocketState != midasRequestedSocketState) {
mepicscaReturnCode =
this->outletSetRecords.at(socketId).put(&midasRequestedSocketState);
mepicscaReturnCode = this->outletSetRecords.at(socketId)->put(
&midasRequestedSocketState);
if (mepicscaReturnCode != CM_SUCCESS) {
fMfe->Msg(MERROR, __FUNCTION__,
@@ -122,15 +122,13 @@ void ePowerSwitchEquipment::updateSocketNumber() {
std::string epicsSetRecordName =
format(EPOWERSWITCH_SOCKET_SET_PREFIX, i);
mEpicsCa<std::string> record =
mEpicsCa<std::string>(epicsSetRecordName.c_str());
this->outletSetRecords.push_back(record);
this->outletSetRecords.push_back(
new mEpicsCa<std::string>(epicsSetRecordName.c_str()));
std::string epicsGetRecordName =
format(EPOWERSWITCH_SOCKET_GET_PREFIX, i);
// this->outletGetRecords.push_back();
// mEpicsCa<std::string>(epicsGetRecordName.c_str()));
this->outletGetRecords.push_back(
new mEpicsCa<std::string>(epicsGetRecordName.c_str()));
}
if (this->numberOfOutlet > epicsOutletNumber)
@@ -139,8 +137,10 @@ void ePowerSwitchEquipment::updateSocketNumber() {
this->numberOfOutlet - epicsOutletNumber);
for (int i = epicsOutletNumber; i < this->numberOfOutlet; i++) {
this->outletSetRecords.pop_back();
this->outletGetRecords.pop_back();
mEpicsCa<std::string> *setRecord = this->outletSetRecords.back();
delete setRecord;
mEpicsCa<std::string> *getRecord = this->outletGetRecords.back();
delete getRecord;
std::string requestedVarname =
format("Socket ", i) + std::string(" requested");
@@ -156,6 +156,9 @@ void ePowerSwitchEquipment::updateSocketNumber() {
fOdbEqVariables->Delete(currentVarname.c_str(), &ovbError);
if (ovbError.fError)
fMfe->Msg(MERROR, __FUNCTION__, ovbError.fErrorString);
this->outletSetRecords.pop_back();
this->outletGetRecords.pop_back();
}
this->numberOfOutlet = epicsOutletNumber;
+2 -2
View File
@@ -23,8 +23,8 @@ class ePowerSwitchEquipment : public TMFeEquipment {
void HandlePeriodic();
private:
std::vector<mEpicsCa<std::string>> outletSetRecords;
std::vector<mEpicsCa<std::string>> outletGetRecords;
std::vector<mEpicsCa<std::string> *> outletSetRecords;
std::vector<mEpicsCa<std::string> *> outletGetRecords;
mEpicsCa<int> outletNumberRecord;
int numberOfOutlet;