]> sigrok.org Git - libsigrokflow.git/blobdiff - include/libsigrokflow/libsigrokflow.hpp
Initial class hierarchy.
[libsigrokflow.git] / include / libsigrokflow / libsigrokflow.hpp
index 381c46bbbf4783aefa64efa290eb1c5c31776fe1..a5fc25314c57c3d518852a3fa6d40f55793ff254 100644 (file)
 #ifndef LIBSIGROKFLOW_LIBSIGROKFLOW_HPP
 #define LIBSIGROKFLOW_LIBSIGROKFLOW_HPP
 
+#include <gstreamermm.h>
+#include <libsigrokcxx/libsigrokcxx.hpp>
+
 namespace Srf
 {
 
+using namespace std;
+
 void init();
 
-}
+class Block
+{
+        /* Config API etc goes here */
+};
+
+class GstBlock :
+        public Gst::Element
+{
+        /* Operations specific to sigrok GStreamer blocks go here. */
+};
+
+class Device :
+        public GstBlock
+{
+        /* Operations specific to hardware devices go here */
+};
 
+class CaptureDevice :
+        public Device
+{
+        /* Operations specific to capture (source) devices go here */
+protected :
+        CaptureDevice();
+};
+
+class LegacyCaptureDevice :
+        public CaptureDevice
+{
+public:
+        /* Construct from libsigrok device object */
+        LegacyCaptureDevice(shared_ptr<sigrok::Device>);
+
+        /* Retrieve libsigrok device object */
+        shared_ptr<sigrok::Device> libsigrok_device();
+private:
+        shared_ptr<sigrok::Device> _device;
+};
+
+
+}
 #endif