- MultiStreamReceiver and SampleWriter cleaned - AcquisitionFormat introduced - Logger created - MultiStreamProcessor idea introduced, MultiStreamToFile introduced - MATLAB scripts have been modified to load new capture folder structure - began implementing MultiStreamOscilloscope
30 lines
693 B
C++
30 lines
693 B
C++
//
|
|
// Created by epagris on 2021. 11. 18..
|
|
//
|
|
|
|
#ifndef WFR_CALLBACK_H
|
|
#define WFR_CALLBACK_H
|
|
|
|
#include <functional>
|
|
|
|
template <typename... ParamTypes>
|
|
class CallbackBase {
|
|
public:
|
|
virtual void operator()(ParamTypes... params) = 0;
|
|
};
|
|
|
|
template <typename T, typename... ParamTypes>
|
|
class Callback : public CallbackBase<ParamTypes...> {
|
|
public:
|
|
T * pObj; // pointer to object to call the function on
|
|
void(T::*pFN)(ParamTypes... params); // member function pointer
|
|
|
|
Callback(T * pObj, void(T::*pFN)(ParamTypes... params)) : pObj(pObj), pFN(pFN) {}
|
|
|
|
void operator()(ParamTypes... params) override {
|
|
std::invoke(pFN, *pObj, params...);
|
|
}
|
|
};
|
|
|
|
#endif //WFR_CALLBACK_H
|