X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=include%2Flibsigrokflow%2Flibsigrokflow.hpp;h=a5fc25314c57c3d518852a3fa6d40f55793ff254;hb=f7363af19dd8d9a0e07d1b315fe3a8392d7acf25;hp=381c46bbbf4783aefa64efa290eb1c5c31776fe1;hpb=a2afbaed5c597771435f14b68e812a73baa3a7c6;p=libsigrokflow.git diff --git a/include/libsigrokflow/libsigrokflow.hpp b/include/libsigrokflow/libsigrokflow.hpp index 381c46b..a5fc253 100644 --- a/include/libsigrokflow/libsigrokflow.hpp +++ b/include/libsigrokflow/libsigrokflow.hpp @@ -20,11 +20,54 @@ #ifndef LIBSIGROKFLOW_LIBSIGROKFLOW_HPP #define LIBSIGROKFLOW_LIBSIGROKFLOW_HPP +#include +#include + 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); + + /* Retrieve libsigrok device object */ + shared_ptr libsigrok_device(); +private: + shared_ptr _device; +}; + + +} #endif