#include "opentrack/selected-libraries.hpp" #include SelectedLibraries::~SelectedLibraries() { } template static mem make_instance(mem lib) { mem ret; if (lib != nullptr && lib->Constructor) ret = mem(reinterpret_cast(reinterpret_cast(lib->Constructor)())); return ret; } SelectedLibraries::SelectedLibraries(QFrame* frame, dylibptr t, dylibptr p, dylibptr f) : pTracker(nullptr), pFilter(nullptr), pProtocol(nullptr), correct(false) { pTracker = make_instance(t); pProtocol = make_instance(p); pFilter = make_instance(f); if (!pTracker || !pProtocol) { qDebug() << "dylib load failure"; return; } if(!pProtocol->correct()) { qDebug() << "protocol load failure"; return; } pTracker->start_tracker(frame); correct = true; }