mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 15:00:02 +02:00
added const overloads for sendToDetector and sendToReceiver (#46)
This commit is contained in:
parent
d72b6c3659
commit
e20b5e6952
File diff suppressed because it is too large
Load Diff
@ -116,7 +116,7 @@ int64_t slsDetector::getId(idMode mode) {
|
||||
return retval;
|
||||
}
|
||||
|
||||
int64_t slsDetector::getReceiverSoftwareVersion() {
|
||||
int64_t slsDetector::getReceiverSoftwareVersion() const {
|
||||
FILE_LOG(logDEBUG1) << "Getting receiver software version";
|
||||
int64_t retval = -1;
|
||||
if (shm()->useReceiverFlag) {
|
||||
@ -158,6 +158,13 @@ void slsDetector::sendToDetector(int fnum) {
|
||||
void slsDetector::sendToDetectorStop(int fnum, const void *args,
|
||||
size_t args_size, void *retval,
|
||||
size_t retval_size) {
|
||||
static_cast<const slsDetector &>(*this).sendToDetectorStop(
|
||||
fnum, args, args_size, retval, retval_size);
|
||||
}
|
||||
|
||||
void slsDetector::sendToDetectorStop(int fnum, const void *args,
|
||||
size_t args_size, void *retval,
|
||||
size_t retval_size) const {
|
||||
auto stop = DetectorSocket(shm()->hostname, shm()->stopPort);
|
||||
stop.sendCommandThenRead(fnum, args, args_size, retval, retval_size);
|
||||
stop.close();
|
||||
@ -168,31 +175,54 @@ void slsDetector::sendToDetectorStop(int fnum, const Arg &args, Ret &retval) {
|
||||
sendToDetectorStop(fnum, &args, sizeof(args), &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
template <typename Arg, typename Ret>
|
||||
void slsDetector::sendToDetectorStop(int fnum, const Arg &args,
|
||||
Ret &retval) const {
|
||||
sendToDetectorStop(fnum, &args, sizeof(args), &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
template <typename Arg>
|
||||
void slsDetector::sendToDetectorStop(int fnum, const Arg &args,
|
||||
std::nullptr_t) {
|
||||
sendToDetectorStop(fnum, &args, sizeof(args), nullptr, 0);
|
||||
}
|
||||
|
||||
template <typename Arg>
|
||||
void slsDetector::sendToDetectorStop(int fnum, const Arg &args,
|
||||
std::nullptr_t) const {
|
||||
sendToDetectorStop(fnum, &args, sizeof(args), nullptr, 0);
|
||||
}
|
||||
|
||||
template <typename Ret>
|
||||
void slsDetector::sendToDetectorStop(int fnum, std::nullptr_t, Ret &retval) {
|
||||
sendToDetectorStop(fnum, nullptr, 0, &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
template <typename Ret>
|
||||
void slsDetector::sendToDetectorStop(int fnum, std::nullptr_t,
|
||||
Ret &retval) const {
|
||||
sendToDetectorStop(fnum, nullptr, 0, &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
void slsDetector::sendToDetectorStop(int fnum) {
|
||||
sendToDetectorStop(fnum, nullptr, 0, nullptr, 0);
|
||||
}
|
||||
|
||||
void slsDetector::sendToDetectorStop(int fnum) const {
|
||||
sendToDetectorStop(fnum, nullptr, 0, nullptr, 0);
|
||||
}
|
||||
|
||||
void slsDetector::sendToReceiver(int fnum, const void *args, size_t args_size,
|
||||
void *retval, size_t retval_size) {
|
||||
auto receiver = ReceiverSocket(shm()->rxHostname, shm()->rxTCPPort);
|
||||
static_cast<const slsDetector &>(*this).sendToReceiver(
|
||||
fnum, args, args_size, retval, retval_size);
|
||||
}
|
||||
|
||||
auto ret = receiver.sendCommandThenRead(fnum, args, args_size, retval,
|
||||
retval_size);
|
||||
void slsDetector::sendToReceiver(int fnum, const void *args, size_t args_size,
|
||||
void *retval, size_t retval_size) const {
|
||||
auto receiver = ReceiverSocket(shm()->rxHostname, shm()->rxTCPPort);
|
||||
receiver.sendCommandThenRead(fnum, args, args_size, retval, retval_size);
|
||||
receiver.close();
|
||||
if (ret == FORCE_UPDATE) {
|
||||
updateCachedReceiverVariables();
|
||||
}
|
||||
}
|
||||
|
||||
template <typename Arg, typename Ret>
|
||||
@ -200,20 +230,40 @@ void slsDetector::sendToReceiver(int fnum, const Arg &args, Ret &retval) {
|
||||
sendToReceiver(fnum, &args, sizeof(args), &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
template <typename Arg, typename Ret>
|
||||
void slsDetector::sendToReceiver(int fnum, const Arg &args, Ret &retval) const {
|
||||
sendToReceiver(fnum, &args, sizeof(args), &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
template <typename Arg>
|
||||
void slsDetector::sendToReceiver(int fnum, const Arg &args, std::nullptr_t) {
|
||||
sendToReceiver(fnum, &args, sizeof(args), nullptr, 0);
|
||||
}
|
||||
|
||||
template <typename Arg>
|
||||
void slsDetector::sendToReceiver(int fnum, const Arg &args,
|
||||
std::nullptr_t) const {
|
||||
sendToReceiver(fnum, &args, sizeof(args), nullptr, 0);
|
||||
}
|
||||
|
||||
template <typename Ret>
|
||||
void slsDetector::sendToReceiver(int fnum, std::nullptr_t, Ret &retval) {
|
||||
sendToReceiver(fnum, nullptr, 0, &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
template <typename Ret>
|
||||
void slsDetector::sendToReceiver(int fnum, std::nullptr_t, Ret &retval) const {
|
||||
sendToReceiver(fnum, nullptr, 0, &retval, sizeof(retval));
|
||||
}
|
||||
|
||||
void slsDetector::sendToReceiver(int fnum) {
|
||||
sendToReceiver(fnum, nullptr, 0, nullptr, 0);
|
||||
}
|
||||
|
||||
void slsDetector::sendToReceiver(int fnum) const {
|
||||
sendToReceiver(fnum, nullptr, 0, nullptr, 0);
|
||||
}
|
||||
|
||||
void slsDetector::freeSharedMemory() {
|
||||
if (shm.IsExisting()) {
|
||||
shm.RemoveSharedMemory();
|
||||
@ -1147,7 +1197,7 @@ void slsDetector::saveSettingsFile(const std::string &fname) {
|
||||
writeSettingsFile(fn, myMod);
|
||||
}
|
||||
|
||||
slsDetectorDefs::runStatus slsDetector::getRunStatus() {
|
||||
slsDetectorDefs::runStatus slsDetector::getRunStatus() const {
|
||||
runStatus retval = ERROR;
|
||||
FILE_LOG(logDEBUG1) << "Getting status";
|
||||
sendToDetectorStop(F_GET_RUN_STATUS, nullptr, retval);
|
||||
@ -1404,7 +1454,7 @@ int64_t slsDetector::setTimer(timerIndex index, int64_t t) {
|
||||
return shm()->timerValue[index];
|
||||
}
|
||||
|
||||
int64_t slsDetector::getTimeLeft(timerIndex index) {
|
||||
int64_t slsDetector::getTimeLeft(timerIndex index) const {
|
||||
int64_t retval = -1;
|
||||
FILE_LOG(logDEBUG1) << "Getting " << getTimerType(index) << " left";
|
||||
sendToDetectorStop(F_GET_TIME_LEFT, index, retval);
|
||||
@ -1540,7 +1590,6 @@ bool slsDetector::getInterruptSubframe() {
|
||||
return static_cast<bool>(retval);
|
||||
}
|
||||
|
||||
|
||||
uint32_t slsDetector::writeRegister(uint32_t addr, uint32_t val) {
|
||||
uint32_t args[]{addr, val};
|
||||
uint32_t retval = -1;
|
||||
@ -2115,7 +2164,7 @@ int64_t slsDetector::getReceiverUDPSocketBufferSize() {
|
||||
return setReceiverUDPSocketBufferSize();
|
||||
}
|
||||
|
||||
int64_t slsDetector::getReceiverRealUDPSocketBufferSize() {
|
||||
int64_t slsDetector::getReceiverRealUDPSocketBufferSize() const {
|
||||
int64_t retval = -1;
|
||||
FILE_LOG(logDEBUG1) << "Getting real UDP Socket Buffer size from receiver";
|
||||
if (shm()->useReceiverFlag) {
|
||||
@ -2455,7 +2504,7 @@ void slsDetector::setReceiverDbitList(std::vector<int> list) {
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<int> slsDetector::getReceiverDbitList() {
|
||||
std::vector<int> slsDetector::getReceiverDbitList() const {
|
||||
sls::FixedCapacityContainer<int, MAX_RX_DBIT> retval;
|
||||
FILE_LOG(logDEBUG1) << "Getting Receiver Dbit List";
|
||||
if (shm()->useReceiverFlag) {
|
||||
@ -2896,7 +2945,7 @@ int slsDetector::lockReceiver(int lock) {
|
||||
return retval;
|
||||
}
|
||||
|
||||
std::string slsDetector::getReceiverLastClientIP() {
|
||||
std::string slsDetector::getReceiverLastClientIP() const {
|
||||
char retval[INET_ADDRSTRLEN]{};
|
||||
FILE_LOG(logDEBUG1) << "Getting last client ip to receiver server";
|
||||
if (shm()->useReceiverFlag) {
|
||||
@ -3200,7 +3249,7 @@ void slsDetector::stopReceiver() {
|
||||
}
|
||||
}
|
||||
|
||||
slsDetectorDefs::runStatus slsDetector::getReceiverStatus() {
|
||||
slsDetectorDefs::runStatus slsDetector::getReceiverStatus() const {
|
||||
runStatus retval = ERROR;
|
||||
FILE_LOG(logDEBUG1) << "Getting Receiver Status";
|
||||
if (shm()->useReceiverFlag) {
|
||||
@ -3210,7 +3259,7 @@ slsDetectorDefs::runStatus slsDetector::getReceiverStatus() {
|
||||
return retval;
|
||||
}
|
||||
|
||||
int slsDetector::getFramesCaughtByReceiver() {
|
||||
int slsDetector::getFramesCaughtByReceiver() const {
|
||||
int retval = -1;
|
||||
FILE_LOG(logDEBUG1) << "Getting Frames Caught by Receiver";
|
||||
if (shm()->useReceiverFlag) {
|
||||
@ -3220,7 +3269,7 @@ int slsDetector::getFramesCaughtByReceiver() {
|
||||
return retval;
|
||||
}
|
||||
|
||||
uint64_t slsDetector::getReceiverCurrentFrameIndex() {
|
||||
uint64_t slsDetector::getReceiverCurrentFrameIndex() const {
|
||||
uint64_t retval = -1;
|
||||
FILE_LOG(logDEBUG1) << "Getting Current Frame Index of Receiver";
|
||||
if (shm()->useReceiverFlag) {
|
||||
|
@ -382,23 +382,6 @@ TEST_CASE("rx_lastclient", "[.cmd]") {
|
||||
REQUIRE(oss.str() == "rx_lastclient " + test::my_ip + "\n");
|
||||
}
|
||||
|
||||
TEST_CASE("rx_online", "[.cmd]") {
|
||||
{
|
||||
std::ostringstream oss;
|
||||
multiSlsDetectorClient("rx_online 0", PUT, nullptr, oss);
|
||||
REQUIRE(oss.str() == "rx_online 0\n");
|
||||
}
|
||||
{
|
||||
std::ostringstream oss;
|
||||
multiSlsDetectorClient("rx_online", GET, nullptr, oss);
|
||||
REQUIRE(oss.str() == "rx_online 0\n");
|
||||
}
|
||||
{
|
||||
std::ostringstream oss;
|
||||
multiSlsDetectorClient("rx_online 1", PUT, nullptr, oss);
|
||||
REQUIRE(oss.str() == "rx_online 1\n");
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("rx_checkonline", "[.cmd]") {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user