- /* Create from libsigrok device object */
- static Glib::RefPtr<LegacyCaptureDevice> create(
- shared_ptr<sigrok::HardwareDevice> libsigrok_device);
+ /* Create from libsigrok device object. */
+ static Glib::RefPtr<LegacyCaptureDevice> create(
+ shared_ptr<sigrok::HardwareDevice> libsigrok_device);
- /* Override state change */
- Gst::StateChangeReturn change_state_vfunc(Gst::StateChange transition);
+ /* Override state change. */
+ Gst::StateChangeReturn change_state_vfunc(Gst::StateChange transition);
- /* Register class with plugin */
- static bool register_element(Glib::RefPtr<Gst::Plugin> plugin);
+ /* Register class with plugin. */
+ static bool register_element(Glib::RefPtr<Gst::Plugin> plugin);
+
+ /* Constructor used by element factory. */
+ explicit LegacyCaptureDevice(GstElement *gobj);
- shared_ptr<sigrok::HardwareDevice> _libsigrok_device;
- Glib::RefPtr<Gst::Pad> _src_pad;
- Glib::Threads::RecMutex _mutex;
- Glib::RefPtr<Gst::Task> _task;
- shared_ptr<sigrok::Session> _session;
-
- void _datafeed_callback(shared_ptr<sigrok::Device> device,
- shared_ptr<sigrok::Packet> packet);
- void _run();
+ shared_ptr<sigrok::HardwareDevice> libsigrok_device_;
+ Glib::RefPtr<Gst::Pad> src_pad_;
+ Glib::Threads::RecMutex mutex_;
+ Glib::RefPtr<Gst::Task> task_;
+ shared_ptr<sigrok::Session> session_;
+
+ void datafeed_callback_(shared_ptr<sigrok::Device> device,
+ shared_ptr<sigrok::Packet> packet);
+ void run_();
- /* Create from libsigrok input */
- static Glib::RefPtr<LegacyInput> create(
- shared_ptr<sigrok::InputFormat> format,
- map<string, Glib::VariantBase> options = map<string, Glib::VariantBase>());
+ /* Create from libsigrok input. */
+ static Glib::RefPtr<LegacyInput> create(
+ shared_ptr<sigrok::InputFormat> format,
+ map<string, Glib::VariantBase> options = map<string, Glib::VariantBase>());
+
+ /* Override start. */
+ bool start_vfunc();
- shared_ptr<sigrok::InputFormat> _libsigrok_input_format;
- shared_ptr<sigrok::Input> _libsigrok_input;
- shared_ptr<sigrok::Session> _session;
- map<string, Glib::VariantBase> _options;
- Glib::RefPtr<Gst::Pad> _sink_pad;
- Glib::RefPtr<Gst::Pad> _src_pad;
-
- void _datafeed_callback(shared_ptr<sigrok::Device> device,
- shared_ptr<sigrok::Packet> packet);
+ shared_ptr<sigrok::InputFormat> libsigrok_input_format_;
+ shared_ptr<sigrok::Input> libsigrok_input_;
+ shared_ptr<sigrok::Session> session_;
+ map<string, Glib::VariantBase> options_;
+ Glib::RefPtr<Gst::Pad> sink_pad_;
+ Glib::RefPtr<Gst::Pad> src_pad_;
+
+ void datafeed_callback_(shared_ptr<sigrok::Device> device,
+ shared_ptr<sigrok::Packet> packet);
- /* Create from libsigrok output object */
- static Glib::RefPtr<LegacyOutput> create(
- shared_ptr<sigrok::OutputFormat> libsigrok_output_format,
- shared_ptr<sigrok::Device> libsigrok_device,
- map<string, Glib::VariantBase> options = map<string, Glib::VariantBase>());
+ /* Create from libsigrok output object. */
+ static Glib::RefPtr<LegacyOutput> create(
+ shared_ptr<sigrok::OutputFormat> libsigrok_output_format,
+ shared_ptr<sigrok::Device> libsigrok_device,
+ map<string, Glib::VariantBase> options = map<string, Glib::VariantBase>());
- /* Register class with plugin */
- static bool register_element(Glib::RefPtr<Gst::Plugin> plugin);
+ /* Register class with plugin. */
+ static bool register_element(Glib::RefPtr<Gst::Plugin> plugin);
+
+ /* Constructor used by element factory. */
+ explicit LegacyOutput(GstBaseSink *gobj);
- shared_ptr<sigrok::OutputFormat> _libsigrok_output_format;
- shared_ptr<sigrok::Device> _libsigrok_device;
- shared_ptr<sigrok::Output> _libsigrok_output;
- map<string, Glib::VariantBase> _options;
+ shared_ptr<sigrok::OutputFormat> libsigrok_output_format_;
+ shared_ptr<sigrok::Device> libsigrok_device_;
+ shared_ptr<sigrok::Output> libsigrok_output_;
+ map<string, Glib::VariantBase> options_;
- static Glib::RefPtr<LegacyDecoder> create(
- struct srd_session *libsigrokdecode_session, uint64_t unitsize);
+ static Glib::RefPtr<LegacyDecoder> create(
+ struct srd_session *libsigrokdecode_session, uint64_t unitsize);
+
+ /* Retrieve libsigrokdecode session. */
+ struct srd_session *libsigrokdecode_session();