fixed merge

This commit is contained in:
Erik Frojdh 2019-08-08 17:14:54 +02:00
commit 869eee4d98
5 changed files with 62 additions and 8 deletions

View File

@ -340,6 +340,40 @@ class Detector {
*/ */
void setReceiverPort(int value, Positions pos = {}); void setReceiverPort(int value, Positions pos = {});
/**
* Gets Lock for detector control server to this client IP
* @param pos detector position
* @returns lock
*/
Result<bool> getLockServer(Positions pos = {});
/**
* Sets Lock for detector control server to this client IP
* @param value lock
* @param pos detector position
*/
void setLockServer(bool value, Positions pos = {});
/**
* Get last client IP saved on detector server
* @param pos detector position
* @returns last client IP saved on detector server
*/
Result<std::string> getLastClientIP(Positions pos = {});
/**
* Exit detector server
* @param pos detector position
*/
void exitServer(Positions pos = {});
/**
* Execute a command on the detector server
* @param value command
* @param pos detector position
*/
void execCommand(const std::string &value, Positions pos = {});
// Erik // Erik
Result<int> getFramesCaughtByReceiver(Positions pos = {}) const; Result<int> getFramesCaughtByReceiver(Positions pos = {}) const;

View File

@ -557,27 +557,27 @@ class multiSlsDetector : public virtual slsDetectorDefs {
* @param detPos -1 for all detectors in list or specific detector position * @param detPos -1 for all detectors in list or specific detector position
* @returns 1 for locked or 0 for unlocked * @returns 1 for locked or 0 for unlocked
*/ */
int lockServer(int p = -1, int detPos = -1); int lockServer(int p = -1, int detPos = -1);//
/** /**
* Get last client IP saved on detector server * Get last client IP saved on detector server
* @param detPos -1 for all detectors in list or specific detector position * @param detPos -1 for all detectors in list or specific detector position
* @returns last client IP saved on detector server * @returns last client IP saved on detector server
*/ */
std::string getLastClientIP(int detPos = -1); std::string getLastClientIP(int detPos = -1);//
/** /**
* Exit detector server * Exit detector server
* @param detPos -1 for all detectors in list or specific detector position * @param detPos -1 for all detectors in list or specific detector position
*/ */
void exitServer(int detPos = -1); void exitServer(int detPos = -1);//
/** /**
* Execute a command on the detector server * Execute a command on the detector server
* @param cmd command * @param cmd command
* @param detPos -1 for all detectors in list or specific detector position * @param detPos -1 for all detectors in list or specific detector position
*/ */
void execCommand(const std::string &cmd, int detPos); void execCommand(const std::string &cmd, int detPos);//
/** /**
* Load configuration from a configuration File * Load configuration from a configuration File

View File

@ -484,9 +484,9 @@ class slsDetector : public virtual slsDetectorDefs {
/** /**
* Lock server for this client IP * Lock server for this client IP
* @param p 0 to unlock, 1 to lock (-1 gets) * @param p 0 to unlock, 1 to lock (-1 gets)
* @returns 1 for locked or 0 for unlocked * @returns true for locked or false for unlocked
*/ */
int lockServer(int lock = -1); bool lockServer(int lock = -1);
/** /**
* Get last client IP saved on detector server * Get last client IP saved on detector server

View File

@ -254,6 +254,26 @@ void Detector::setReceiverPort(int value, Positions pos) {
pimpl->Parallel(&slsDetector::setReceiverPort, pos, value); pimpl->Parallel(&slsDetector::setReceiverPort, pos, value);
} }
Result<bool> Detector::getLockServer(Positions pos) {
return pimpl->Parallel(&slsDetector::lockServer, pos, -1);
}
void Detector::setLockServer(bool value, Positions pos) {
pimpl->Parallel(&slsDetector::lockServer, pos, static_cast<int>(value));
}
Result<std::string> Detector::getLastClientIP(Positions pos) {
return pimpl->Parallel(&slsDetector::getLastClientIP, pos);
}
void Detector::exitServer(Positions pos) {
pimpl->Parallel(&slsDetector::exitServer, pos);
}
void Detector::execCommand(const std::string &value, Positions pos) {
pimpl->Parallel(&slsDetector::execCommand, pos, value);
}
// Erik // Erik
Result<int> Detector::getFramesCaughtByReceiver(Positions pos) const { Result<int> Detector::getFramesCaughtByReceiver(Positions pos) const {
return pimpl->Parallel(&slsDetector::getFramesCaughtByReceiver, pos); return pimpl->Parallel(&slsDetector::getFramesCaughtByReceiver, pos);

View File

@ -761,12 +761,12 @@ int slsDetector::getControlPort() const { return shm()->controlPort; }
int slsDetector::getStopPort() const { return shm()->stopPort; } int slsDetector::getStopPort() const { return shm()->stopPort; }
int slsDetector::lockServer(int lock) { bool slsDetector::lockServer(int lock) {
int retval = -1; int retval = -1;
FILE_LOG(logDEBUG1) << "Setting detector server lock to " << lock; FILE_LOG(logDEBUG1) << "Setting detector server lock to " << lock;
sendToDetector(F_LOCK_SERVER, lock, retval); sendToDetector(F_LOCK_SERVER, lock, retval);
FILE_LOG(logDEBUG1) << "Lock: " << retval; FILE_LOG(logDEBUG1) << "Lock: " << retval;
return retval; return (retval == 1 ? true : false);
} }
std::string slsDetector::getLastClientIP() { std::string slsDetector::getLastClientIP() {