diff --git a/bindings/cxx/classes.cpp b/bindings/cxx/classes.cpp
index 7a6daa92..986d4a73 100644
--- a/bindings/cxx/classes.cpp
+++ b/bindings/cxx/classes.cpp
@@ -1289,11 +1289,16 @@ void Input::send(string data)
check(ret);
}
+void Input::end()
+{
+ check(sr_input_end(_structure));
+}
+
Input::~Input()
{
if (_device)
delete _device;
- check(sr_input_free(_structure));
+ sr_input_free(_structure);
}
InputDevice::InputDevice(shared_ptr input,
diff --git a/bindings/cxx/include/libsigrok/libsigrok.hpp b/bindings/cxx/include/libsigrok/libsigrok.hpp
index 972bde88..9c211837 100644
--- a/bindings/cxx/include/libsigrok/libsigrok.hpp
+++ b/bindings/cxx/include/libsigrok/libsigrok.hpp
@@ -821,6 +821,8 @@ public:
/** Send next stream data.
* @param data Next stream data. */
void send(string data);
+ /** Signal end of input data. */
+ void end();
protected:
Input(shared_ptr context, const struct sr_input *structure);
~Input();