kopia lustrzana https://github.com/cariboulabs/cariboulite
sighandler explicit function
rodzic
5ca7c52d81
commit
43c505db2d
|
@ -243,6 +243,9 @@ public:
|
|||
std::string GetHwGuid(void);
|
||||
CaribouLiteRadio* GetRadioChannel(CaribouLiteRadio::RadioType ch);
|
||||
|
||||
// Signal Handler
|
||||
void RegisterSignalHandler(std::function<void(int)> on_signal_caught);
|
||||
|
||||
// Static detection and factory
|
||||
static CaribouLite &GetInstance(bool forceFpgaProg = false, LogLevel logLvl = LogLevel::None);
|
||||
static bool DetectBoard(SysVersion *sysVer, std::string& name, std::string& guid);
|
||||
|
@ -258,6 +261,7 @@ public:
|
|||
uint8_t GetPmodState (void);
|
||||
|
||||
private:
|
||||
std::function<void(int)> _on_signal_caught;
|
||||
std::vector<CaribouLiteRadio*> _channels;
|
||||
SysVersion _systemVersion;
|
||||
std::string _productName;
|
||||
|
|
|
@ -9,9 +9,17 @@ void CaribouLite::DefaultSignalHandler(void* context, int signal_number, siginfo
|
|||
{
|
||||
CaribouLite* cl = (CaribouLite*)context;
|
||||
std::cout << " >> Signal caught: " << signal_number << std::endl << std::flush;
|
||||
|
||||
if (cl->_on_signal_caught) cl->_on_signal_caught(signal_number);
|
||||
//cl->ReleaseResources();
|
||||
}
|
||||
|
||||
//==================================================================
|
||||
void CaribouLite::RegisterSignalHandler(std::function<void(int)> on_signal_caught)
|
||||
{
|
||||
_on_signal_caught = on_signal_caught;
|
||||
}
|
||||
|
||||
//==================================================================
|
||||
bool CaribouLite::DetectBoard(SysVersion *sysVer, std::string& name, std::string& guid)
|
||||
{
|
||||
|
|
Ładowanie…
Reference in New Issue