23 #ifndef RPCREGISTERHELPERS_H
24 #define RPCREGISTERHELPERS_H
49 template<
typename T,
typename Tto>
59 throw std::runtime_error(
"rpcextractor_base: no post defined for this data type.\n");
77 throw std::runtime_error(
"rpcextractor_base: no post defined for this data type.\n");
88 template<
typename T,
typename Tto>
106 template<
typename T,
typename Tfrom>
125 template<
typename T,
typename Tfrom>
308 std::complex<float> k =
static_cast<std::complex<float>
>(
pmt::to_complex(msg));
397 std::vector< signed char >
472 std::vector< std::complex<float> >
575 template <
typename T>
629 template<
typename T,
typename Tto>
659 const char* functionbase,
660 void (T::*
function)(Tto),
662 const char* units_ =
"",
663 const char* desc_ =
"",
672 d_minpriv = minpriv_;
673 d_display = display_;
675 #ifdef RPCSERVER_ENABLED
678 minpriv_, std::string(units_),
679 display_, std::string(desc_), min, max, def);
680 std::ostringstream oss(std::ostringstream::out);
681 oss << block_alias <<
"::" << functionbase;
712 const char* functionbase,
714 void (T::*
function)(Tto),
716 const char* units_ =
"",
717 const char* desc_ =
"",
726 d_minpriv = minpriv_;
727 d_display = display_;
729 #ifdef RPCSERVER_ENABLED
732 minpriv_, std::string(units_),
733 display_, std::string(desc_), min, max, def);
734 std::ostringstream oss(std::ostringstream::out);
735 oss << name <<
"::" << functionbase;
744 #ifdef RPCSERVER_ENABLED
753 std::string
units()
const {
return d_units; }
761 void units(std::string u) { d_units = u; }
769 std::string d_units, d_desc;
825 const char* functionbase,
826 void (T::*
function)(),
827 const char* desc_ =
"",
831 d_minpriv = minpriv_;
833 #ifdef RPCSERVER_ENABLED
836 minpriv_, std::string(desc_));
837 std::ostringstream oss(std::ostringstream::out);
838 oss << block_alias <<
"::" << functionbase;
864 const char* functionbase,
866 void (T::*
function)(),
867 const char* desc_ =
"",
871 d_minpriv = minpriv_;
873 #ifdef RPCSERVER_ENABLED
876 minpriv_, std::string(desc_));
877 std::ostringstream oss(std::ostringstream::out);
878 oss << name <<
"::" << functionbase;
887 #ifdef RPCSERVER_ENABLED
943 template<
typename T,
typename Tfrom>
975 const char* functionbase,
976 Tfrom (T::*
function)(),
978 const char* units_ =
"",
979 const char* desc_ =
"",
988 d_minpriv = minpriv_;
989 d_display = display_;
991 #ifdef RPCSERVER_ENABLED
994 minpriv_, std::string(units_), display_, std::string(desc_), min, max, def);
995 std::ostringstream oss(std::ostringstream::out);
996 oss << block_alias <<
"::" << functionbase;
1009 const char* functionbase,
1010 Tfrom (T::*
function)()
const,
1012 const char* units_ =
"",
1013 const char* desc_ =
"",
1022 d_minpriv = minpriv_;
1023 d_display = display_;
1025 #ifdef RPCSERVER_ENABLED
1028 minpriv_, std::string(units_), display_, std::string(desc_), min, max, def);
1029 std::ostringstream oss(std::ostringstream::out);
1030 oss << block_alias <<
"::" << functionbase;
1062 const char* functionbase,
1064 Tfrom (T::*
function)(),
1066 const char* units_ =
"",
1067 const char* desc_ =
"",
1076 d_minpriv = minpriv_;
1077 d_display = display_;
1079 #ifdef RPCSERVER_ENABLED
1082 minpriv_, std::string(units_), display_, std::string(desc_), min, max, def);
1083 std::ostringstream oss(std::ostringstream::out);
1084 oss << name <<
"::" << functionbase;
1097 const char* functionbase,
1099 Tfrom (T::*
function)()
const,
1101 const char* units_ =
"",
1102 const char* desc_ =
"",
1111 d_minpriv = minpriv_;
1112 d_display = display_;
1114 #ifdef RPCSERVER_ENABLED
1117 minpriv_, std::string(units_), display_, std::string(desc_), min, max, def);
1118 std::ostringstream oss(std::ostringstream::out);
1119 oss << name <<
"::" << functionbase;
1128 #ifdef RPCSERVER_ENABLED
1136 std::string
units()
const {
return d_units; }
1144 void units(std::string u) { d_units = u; }
1152 std::string d_units, d_desc;
1197 template<
typename Tfrom>
1222 throw std::runtime_error(
"ERROR: rpcbasic_register_variable called with no args. If this happens, someone has tried to use rpcbasic_register_variable incorrectly.");
1244 const char* functionbase,
1247 const char* units_ =
"",
1248 const char* desc_ =
"",
1252 min, max, def, units_, desc_, minpriv_, display_),
1295 template<
typename Tfrom>
1307 d_rpc_regset(
"FAIL",
"FAIL", this,
1312 throw std::runtime_error(
"ERROR: rpcbasic_register_variable_rw called with no args. if this happens someone used rpcbasic_register_variable_rw incorrectly.\n");
1315 void set(Tfrom _variable)
1339 const std::string& namebase,
1340 const char* functionbase,
1343 const char* units_ =
"",
1344 const char* desc_ =
"",
1348 min, max, def, units_, desc_),
1349 d_rpc_regset(namebase, functionbase, this,
1351 min, max, def, units_, desc_, minpriv, display_)