*/
#include <config.h>
-#include <libsigrokflow/libsigrokflow.hpp>
-
-#include <libsigrokdecode/libsigrokdecode.h>
-
#include <iostream>
+#include <libsigrokflow/libsigrokflow.hpp>
namespace Srf
{
void init()
{
+ static bool srf_initialized = false;
+
+ if (srf_initialized)
+ throw runtime_error("libsigrokflow is already initialized");
+
#ifdef HAVE_LIBSIGROKCXX
Gst::Plugin::register_static(GST_VERSION_MAJOR, GST_VERSION_MINOR,
"sigrok_legacy_capture_device",
sigc::ptr_fun(&LegacyOutput::register_element),
"0.01", "GPL", "sigrok", "libsigrokflow", "http://sigrok.org");
#endif
+#ifdef HAVE_LIBSIGROKDECODE
Gst::Plugin::register_static(GST_VERSION_MAJOR, GST_VERSION_MINOR,
"sigrok_legacy_decoder",
"Wrapper for protocol decoders using legacy libsigrokdecode APIs",
sigc::ptr_fun(&LegacyDecoder::register_element),
"0.01", "GPL", "sigrok", "libsigrokflow", "http://sigrok.org");
+#endif
+
+ srf_initialized = true;
}
Sink::Sink(GstBaseSink *gobj) :
}
#endif
+#ifdef HAVE_LIBSIGROKDECODE
void LegacyDecoder::class_init(Gst::ElementClass<LegacyDecoder> *klass)
{
klass->set_metadata("sigrok legacy decoder",
srd_session_terminate_reset(_session);
return true;
}
+#endif
}