mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 23:10: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;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t slsDetector::getReceiverSoftwareVersion() {
|
int64_t slsDetector::getReceiverSoftwareVersion() const {
|
||||||
FILE_LOG(logDEBUG1) << "Getting receiver software version";
|
FILE_LOG(logDEBUG1) << "Getting receiver software version";
|
||||||
int64_t retval = -1;
|
int64_t retval = -1;
|
||||||
if (shm()->useReceiverFlag) {
|
if (shm()->useReceiverFlag) {
|
||||||
@ -158,6 +158,13 @@ void slsDetector::sendToDetector(int fnum) {
|
|||||||
void slsDetector::sendToDetectorStop(int fnum, const void *args,
|
void slsDetector::sendToDetectorStop(int fnum, const void *args,
|
||||||
size_t args_size, void *retval,
|
size_t args_size, void *retval,
|
||||||
size_t retval_size) {
|
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);
|
auto stop = DetectorSocket(shm()->hostname, shm()->stopPort);
|
||||||
stop.sendCommandThenRead(fnum, args, args_size, retval, retval_size);
|
stop.sendCommandThenRead(fnum, args, args_size, retval, retval_size);
|
||||||
stop.close();
|
stop.close();
|
||||||
@ -168,31 +175,54 @@ void slsDetector::sendToDetectorStop(int fnum, const Arg &args, Ret &retval) {
|
|||||||
sendToDetectorStop(fnum, &args, sizeof(args), &retval, sizeof(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>
|
template <typename Arg>
|
||||||
void slsDetector::sendToDetectorStop(int fnum, const Arg &args,
|
void slsDetector::sendToDetectorStop(int fnum, const Arg &args,
|
||||||
std::nullptr_t) {
|
std::nullptr_t) {
|
||||||
sendToDetectorStop(fnum, &args, sizeof(args), nullptr, 0);
|
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>
|
template <typename Ret>
|
||||||
void slsDetector::sendToDetectorStop(int fnum, std::nullptr_t, Ret &retval) {
|
void slsDetector::sendToDetectorStop(int fnum, std::nullptr_t, Ret &retval) {
|
||||||
sendToDetectorStop(fnum, nullptr, 0, &retval, sizeof(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) {
|
void slsDetector::sendToDetectorStop(int fnum) {
|
||||||
sendToDetectorStop(fnum, nullptr, 0, nullptr, 0);
|
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 slsDetector::sendToReceiver(int fnum, const void *args, size_t args_size,
|
||||||
void *retval, size_t retval_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,
|
void slsDetector::sendToReceiver(int fnum, const void *args, size_t args_size,
|
||||||
retval_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();
|
receiver.close();
|
||||||
if (ret == FORCE_UPDATE) {
|
|
||||||
updateCachedReceiverVariables();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Arg, typename Ret>
|
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));
|
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>
|
template <typename Arg>
|
||||||
void slsDetector::sendToReceiver(int fnum, const Arg &args, std::nullptr_t) {
|
void slsDetector::sendToReceiver(int fnum, const Arg &args, std::nullptr_t) {
|
||||||
sendToReceiver(fnum, &args, sizeof(args), nullptr, 0);
|
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>
|
template <typename Ret>
|
||||||
void slsDetector::sendToReceiver(int fnum, std::nullptr_t, Ret &retval) {
|
void slsDetector::sendToReceiver(int fnum, std::nullptr_t, Ret &retval) {
|
||||||
sendToReceiver(fnum, nullptr, 0, &retval, sizeof(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) {
|
void slsDetector::sendToReceiver(int fnum) {
|
||||||
sendToReceiver(fnum, nullptr, 0, nullptr, 0);
|
sendToReceiver(fnum, nullptr, 0, nullptr, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void slsDetector::sendToReceiver(int fnum) const {
|
||||||
|
sendToReceiver(fnum, nullptr, 0, nullptr, 0);
|
||||||
|
}
|
||||||
|
|
||||||
void slsDetector::freeSharedMemory() {
|
void slsDetector::freeSharedMemory() {
|
||||||
if (shm.IsExisting()) {
|
if (shm.IsExisting()) {
|
||||||
shm.RemoveSharedMemory();
|
shm.RemoveSharedMemory();
|
||||||
@ -1147,7 +1197,7 @@ void slsDetector::saveSettingsFile(const std::string &fname) {
|
|||||||
writeSettingsFile(fn, myMod);
|
writeSettingsFile(fn, myMod);
|
||||||
}
|
}
|
||||||
|
|
||||||
slsDetectorDefs::runStatus slsDetector::getRunStatus() {
|
slsDetectorDefs::runStatus slsDetector::getRunStatus() const {
|
||||||
runStatus retval = ERROR;
|
runStatus retval = ERROR;
|
||||||
FILE_LOG(logDEBUG1) << "Getting status";
|
FILE_LOG(logDEBUG1) << "Getting status";
|
||||||
sendToDetectorStop(F_GET_RUN_STATUS, nullptr, retval);
|
sendToDetectorStop(F_GET_RUN_STATUS, nullptr, retval);
|
||||||
@ -1404,7 +1454,7 @@ int64_t slsDetector::setTimer(timerIndex index, int64_t t) {
|
|||||||
return shm()->timerValue[index];
|
return shm()->timerValue[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t slsDetector::getTimeLeft(timerIndex index) {
|
int64_t slsDetector::getTimeLeft(timerIndex index) const {
|
||||||
int64_t retval = -1;
|
int64_t retval = -1;
|
||||||
FILE_LOG(logDEBUG1) << "Getting " << getTimerType(index) << " left";
|
FILE_LOG(logDEBUG1) << "Getting " << getTimerType(index) << " left";
|
||||||
sendToDetectorStop(F_GET_TIME_LEFT, index, retval);
|
sendToDetectorStop(F_GET_TIME_LEFT, index, retval);
|
||||||
@ -1540,7 +1590,6 @@ bool slsDetector::getInterruptSubframe() {
|
|||||||
return static_cast<bool>(retval);
|
return static_cast<bool>(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uint32_t slsDetector::writeRegister(uint32_t addr, uint32_t val) {
|
uint32_t slsDetector::writeRegister(uint32_t addr, uint32_t val) {
|
||||||
uint32_t args[]{addr, val};
|
uint32_t args[]{addr, val};
|
||||||
uint32_t retval = -1;
|
uint32_t retval = -1;
|
||||||
@ -2115,7 +2164,7 @@ int64_t slsDetector::getReceiverUDPSocketBufferSize() {
|
|||||||
return setReceiverUDPSocketBufferSize();
|
return setReceiverUDPSocketBufferSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t slsDetector::getReceiverRealUDPSocketBufferSize() {
|
int64_t slsDetector::getReceiverRealUDPSocketBufferSize() const {
|
||||||
int64_t retval = -1;
|
int64_t retval = -1;
|
||||||
FILE_LOG(logDEBUG1) << "Getting real UDP Socket Buffer size from receiver";
|
FILE_LOG(logDEBUG1) << "Getting real UDP Socket Buffer size from receiver";
|
||||||
if (shm()->useReceiverFlag) {
|
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;
|
sls::FixedCapacityContainer<int, MAX_RX_DBIT> retval;
|
||||||
FILE_LOG(logDEBUG1) << "Getting Receiver Dbit List";
|
FILE_LOG(logDEBUG1) << "Getting Receiver Dbit List";
|
||||||
if (shm()->useReceiverFlag) {
|
if (shm()->useReceiverFlag) {
|
||||||
@ -2896,7 +2945,7 @@ int slsDetector::lockReceiver(int lock) {
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string slsDetector::getReceiverLastClientIP() {
|
std::string slsDetector::getReceiverLastClientIP() const {
|
||||||
char retval[INET_ADDRSTRLEN]{};
|
char retval[INET_ADDRSTRLEN]{};
|
||||||
FILE_LOG(logDEBUG1) << "Getting last client ip to receiver server";
|
FILE_LOG(logDEBUG1) << "Getting last client ip to receiver server";
|
||||||
if (shm()->useReceiverFlag) {
|
if (shm()->useReceiverFlag) {
|
||||||
@ -3200,7 +3249,7 @@ void slsDetector::stopReceiver() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
slsDetectorDefs::runStatus slsDetector::getReceiverStatus() {
|
slsDetectorDefs::runStatus slsDetector::getReceiverStatus() const {
|
||||||
runStatus retval = ERROR;
|
runStatus retval = ERROR;
|
||||||
FILE_LOG(logDEBUG1) << "Getting Receiver Status";
|
FILE_LOG(logDEBUG1) << "Getting Receiver Status";
|
||||||
if (shm()->useReceiverFlag) {
|
if (shm()->useReceiverFlag) {
|
||||||
@ -3210,7 +3259,7 @@ slsDetectorDefs::runStatus slsDetector::getReceiverStatus() {
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
int slsDetector::getFramesCaughtByReceiver() {
|
int slsDetector::getFramesCaughtByReceiver() const {
|
||||||
int retval = -1;
|
int retval = -1;
|
||||||
FILE_LOG(logDEBUG1) << "Getting Frames Caught by Receiver";
|
FILE_LOG(logDEBUG1) << "Getting Frames Caught by Receiver";
|
||||||
if (shm()->useReceiverFlag) {
|
if (shm()->useReceiverFlag) {
|
||||||
@ -3220,7 +3269,7 @@ int slsDetector::getFramesCaughtByReceiver() {
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t slsDetector::getReceiverCurrentFrameIndex() {
|
uint64_t slsDetector::getReceiverCurrentFrameIndex() const {
|
||||||
uint64_t retval = -1;
|
uint64_t retval = -1;
|
||||||
FILE_LOG(logDEBUG1) << "Getting Current Frame Index of Receiver";
|
FILE_LOG(logDEBUG1) << "Getting Current Frame Index of Receiver";
|
||||||
if (shm()->useReceiverFlag) {
|
if (shm()->useReceiverFlag) {
|
||||||
|
@ -382,23 +382,6 @@ TEST_CASE("rx_lastclient", "[.cmd]") {
|
|||||||
REQUIRE(oss.str() == "rx_lastclient " + test::my_ip + "\n");
|
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]") {
|
TEST_CASE("rx_checkonline", "[.cmd]") {
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user