mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-26 00:00:02 +02:00
Merge branch 'refactor' of github.com:slsdetectorgroup/slsDetectorPackage into refactor
This commit is contained in:
commit
576de404d4
@ -394,7 +394,7 @@ void multiSlsDetector::initSharedMemory(bool verify) {
|
||||
// shared memory object with name
|
||||
sharedMemory = new SharedMemory(detId, -1);
|
||||
size_t sz = sizeof(sharedMultiSlsDetector);
|
||||
|
||||
|
||||
//create
|
||||
if (!sharedMemory->IsExisting()) {
|
||||
thisMultiDetector = (sharedMultiSlsDetector*)sharedMemory->CreateSharedMemory(sz);
|
||||
@ -940,8 +940,6 @@ int multiSlsDetector::readConfigurationFile(std::string const fname) {
|
||||
freeSharedMemory();
|
||||
setupMultiDetector();
|
||||
|
||||
|
||||
multiSlsDetectorClient* cmd;
|
||||
std::string ans;
|
||||
std::string str;
|
||||
std::ifstream infile;
|
||||
@ -995,8 +993,7 @@ int multiSlsDetector::readConfigurationFile(std::string const fname) {
|
||||
std::cout << args[ia] << " ??????? ";
|
||||
std::cout << std::endl;
|
||||
#endif
|
||||
cmd = new multiSlsDetectorClient(iargval, args, PUT_ACTION, this);
|
||||
delete cmd;
|
||||
multiSlsDetectorClient(iargval, args, PUT_ACTION, this);
|
||||
}
|
||||
++iline;
|
||||
}
|
||||
@ -1043,18 +1040,18 @@ int multiSlsDetector::writeConfigurationFile(std::string const fname) {
|
||||
outfile.open(fname.c_str(), std::ios_base::out);
|
||||
if (outfile.is_open()) {
|
||||
|
||||
slsDetectorCommand* cmd = new slsDetectorCommand(this);
|
||||
auto cmd = slsDetectorCommand(this);
|
||||
|
||||
// complete size of detector
|
||||
std::cout << iline << " " << names[iline] << std::endl;
|
||||
strcpy(args[0], names[iline].c_str());
|
||||
outfile << names[iline] << " " << cmd->executeLine(1, args, GET_ACTION) << std::endl;
|
||||
outfile << names[iline] << " " << cmd.executeLine(1, args, GET_ACTION) << std::endl;
|
||||
++iline;
|
||||
|
||||
// hostname of the detectors
|
||||
std::cout << iline << " " << names[iline] << std::endl;
|
||||
strcpy(args[0], names[iline].c_str());
|
||||
outfile << names[iline] << " " << cmd->executeLine(1, args, GET_ACTION) << std::endl;
|
||||
outfile << names[iline] << " " << cmd.executeLine(1, args, GET_ACTION) << std::endl;
|
||||
++iline;
|
||||
|
||||
// single detector configuration
|
||||
@ -1072,11 +1069,9 @@ int multiSlsDetector::writeConfigurationFile(std::string const fname) {
|
||||
while (iline < nvar) {
|
||||
std::cout << iline << " " << names[iline] << std::endl;
|
||||
strcpy(args[0], names[iline].c_str());
|
||||
outfile << names[iline] << " " << cmd->executeLine(1, args, GET_ACTION) << std::endl;
|
||||
outfile << names[iline] << " " << cmd.executeLine(1, args, GET_ACTION) << std::endl;
|
||||
++iline;
|
||||
}
|
||||
|
||||
delete cmd;
|
||||
outfile.close();
|
||||
#ifdef VERBOSE
|
||||
std::cout << "wrote " << iline << " lines to configuration file " << std::endl;
|
||||
@ -3547,7 +3542,7 @@ int multiSlsDetector::retrieveDetectorSetup(std::string const fname1, int level)
|
||||
|
||||
infile.open(fname.c_str(), std::ios_base::in);
|
||||
if (infile.is_open()) {
|
||||
cmd=new slsDetectorCommand(this);
|
||||
auto cmd = slsDetectorCommand(this);
|
||||
while (infile.good() and interrupt==0) {
|
||||
sargname="none";
|
||||
sargval="0";
|
||||
@ -3583,11 +3578,10 @@ int multiSlsDetector::retrieveDetectorSetup(std::string const fname1, int level)
|
||||
skip=1;
|
||||
}
|
||||
if (skip==0)
|
||||
cmd->executeLine(iargval,args,PUT_ACTION);
|
||||
cmd.executeLine(iargval,args,PUT_ACTION);
|
||||
}
|
||||
iline++;
|
||||
}
|
||||
delete cmd;
|
||||
infile.close();
|
||||
|
||||
} else {
|
||||
@ -3606,8 +3600,6 @@ int multiSlsDetector::retrieveDetectorSetup(std::string const fname1, int level)
|
||||
|
||||
|
||||
int multiSlsDetector::dumpDetectorSetup(std::string const fname, int level){
|
||||
|
||||
slsDetectorCommand *cmd;
|
||||
detectorType type = getDetectorsType();
|
||||
std::string names[100];
|
||||
int nvar=0;
|
||||
@ -3709,14 +3701,11 @@ int multiSlsDetector::dumpDetectorSetup(std::string const fname, int level){
|
||||
|
||||
outfile.open(fname1.c_str(),std::ios_base::out);
|
||||
if (outfile.is_open()) {
|
||||
cmd=new slsDetectorCommand(this);
|
||||
auto cmd = slsDetectorCommand(this);
|
||||
for (iv=0; iv<nvar; iv++) {
|
||||
strcpy(args[0],names[iv].c_str());
|
||||
outfile << names[iv] << " " << cmd->executeLine(1,args,GET_ACTION) << std::endl;
|
||||
outfile << names[iv] << " " << cmd.executeLine(1,args,GET_ACTION) << std::endl;
|
||||
}
|
||||
|
||||
delete cmd;
|
||||
|
||||
outfile.close();
|
||||
}
|
||||
else {
|
||||
|
@ -42,13 +42,12 @@ slsDetector::slsDetector(detectorType type, int multiId, int id, bool verify)
|
||||
* so sls shared memory will be created */
|
||||
|
||||
// ensure shared memory was not created before
|
||||
SharedMemory* shm = new SharedMemory(multiId, id);
|
||||
if (shm->IsExisting()) {
|
||||
auto shm = SharedMemory(multiId, id);
|
||||
if (shm.IsExisting()) {
|
||||
cprintf(YELLOW BOLD,"Warning: Weird, this shared memory should have been "
|
||||
"deleted before! %s. Freeing it again.\n", shm->GetName().c_str());
|
||||
"deleted before! %s. Freeing it again.\n", shm.GetName().c_str());
|
||||
freeSharedMemory(multiId, id);
|
||||
}
|
||||
delete shm;
|
||||
|
||||
initSharedMemory(true, type, multiId, verify);
|
||||
initializeDetectorStructure(type);
|
||||
@ -261,9 +260,8 @@ int64_t slsDetector::getId( idMode mode) {
|
||||
|
||||
|
||||
void slsDetector::freeSharedMemory(int multiId, int slsId) {
|
||||
SharedMemory* shm = new SharedMemory(multiId, slsId);
|
||||
shm->RemoveSharedMemory();
|
||||
delete shm;
|
||||
auto shm = SharedMemory(multiId, slsId);
|
||||
shm.RemoveSharedMemory();
|
||||
}
|
||||
|
||||
void slsDetector::freeSharedMemory() {
|
||||
@ -1156,7 +1154,9 @@ int slsDetector::setTCPSocket(std::string const name, int const control_port, in
|
||||
int thisCP, thisSP;
|
||||
int retval=OK;
|
||||
|
||||
if (strcmp(name.c_str(),"")!=0) {
|
||||
if (name.empty()){
|
||||
strcpy(thisName,thisDetector->hostname);
|
||||
}else{
|
||||
#ifdef VERBOSE
|
||||
std::cout<< "setting hostname" << std::endl;
|
||||
#endif
|
||||
@ -1170,8 +1170,8 @@ int slsDetector::setTCPSocket(std::string const name, int const control_port, in
|
||||
delete stopSocket;
|
||||
stopSocket=0;
|
||||
}
|
||||
} else
|
||||
strcpy(thisName,thisDetector->hostname);
|
||||
}
|
||||
|
||||
|
||||
if (control_port>0) {
|
||||
#ifdef VERBOSE
|
||||
@ -1704,8 +1704,7 @@ int slsDetector::writeConfigurationFile(std::string const fname, multiSlsDetecto
|
||||
|
||||
|
||||
int slsDetector::writeConfigurationFile(std::ofstream &outfile, multiSlsDetector* m) {
|
||||
;
|
||||
slsDetectorCommand *cmd=new slsDetectorCommand(m);
|
||||
|
||||
detectorType type = thisDetector->myDetectorType;
|
||||
std::string names[100];
|
||||
int nvar=0;
|
||||
@ -1773,25 +1772,23 @@ int slsDetector::writeConfigurationFile(std::ofstream &outfile, multiSlsDetector
|
||||
args[ia]=myargs[ia];
|
||||
}
|
||||
|
||||
|
||||
auto cmd = slsDetectorCommand(m);
|
||||
for (iv=0; iv<nvar; ++iv) {
|
||||
std::cout << iv << " " << names[iv] << std::endl;
|
||||
if (names[iv]=="extsig") {
|
||||
for (int is=0; is<nsig; ++is) {
|
||||
sprintf(args[0],"%s:%d",names[iv].c_str(),is);
|
||||
outfile << detId << ":";
|
||||
outfile << args[0] << " " << cmd->executeLine(1,args,GET_ACTION)
|
||||
outfile << args[0] << " " << cmd.executeLine(1,args,GET_ACTION)
|
||||
<< std::endl;
|
||||
}
|
||||
} else {
|
||||
strcpy(args[0],names[iv].c_str());
|
||||
outfile << detId << ":";
|
||||
outfile << names[iv] << " " << cmd->executeLine(1,args,GET_ACTION)
|
||||
outfile << names[iv] << " " << cmd.executeLine(1,args,GET_ACTION)
|
||||
<< std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
delete cmd;
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user