X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fcxx%2Fclasses.cpp;h=357c9d6f3cbccac46f24a7d1c74025c525b40324;hb=81b3ce374c3b6d48e5ed321ac7a871ce4248a0bb;hp=19b4f8f0c3c5c53ac5472d2faded5b2dc3043b75;hpb=032da34b786333a1af811235c5cf29855479f0b6;p=libsigrok.git diff --git a/bindings/cxx/classes.cpp b/bindings/cxx/classes.cpp index 19b4f8f0..357c9d6f 100644 --- a/bindings/cxx/classes.cpp +++ b/bindings/cxx/classes.cpp @@ -1438,9 +1438,9 @@ shared_ptr Input::device() return _device->get_shared_pointer(shared_from_this()); } -void Input::send(string data) +void Input::send(void *data, size_t length) { - auto gstr = g_string_new(data.c_str()); + auto gstr = g_string_new_len((gchar *)data, length); auto ret = sr_input_send(_structure, gstr); g_string_free(gstr, false); check(ret); @@ -1565,10 +1565,28 @@ shared_ptr OutputFormat::create_output( Output::Deleter()); } +shared_ptr OutputFormat::create_output(string filename, + shared_ptr device, map options) +{ + return shared_ptr( + new Output(filename, shared_from_this(), device, options), + Output::Deleter()); +} + Output::Output(shared_ptr format, shared_ptr device, map options) : UserOwned(sr_output_new(format->_structure, - map_to_hash_variant(options), device->_structure)), + map_to_hash_variant(options), device->_structure, NULL)), + _format(format), + _device(device), + _options(options) +{ +} + +Output::Output(string filename, shared_ptr format, + shared_ptr device, map options) : + UserOwned(sr_output_new(format->_structure, + map_to_hash_variant(options), device->_structure, filename.c_str())), _format(format), _device(device), _options(options)