Daniel Elstner
15bebf575d
C++: Make value get accessors const
...
Declare accessor methods that return value members const. For now,
skip all cases where constness would have to be applied transitively
to shared objects.
2015-10-26 06:45:56 +01:00
Daniel Elstner
a73d492636
C++: Make some methods static to match the C API
...
Context::package_version() and Context::lib_version() do not access
context state and should be static. However, leave the logging
related methods alone for now, as making them static would entail
making the callback data a global static, since the C API lacks
destroy notification callbacks.
2015-10-26 06:45:56 +01:00
Daniel Elstner
0ab8e5d22b
C++: Declare all callbacks invoked from C noexcept
...
If one of these functions does throw an exception, std::terminate()
will be called. Without this, the behavior is undefined since the C
stack is not prepared to deal with exceptions.
2015-10-26 06:45:56 +01:00
Daniel Elstner
15914cdb0f
C++: Use noexcept instead of throw()
...
Runtime-checked exception specifications via throw() are
deprecated in C++11.
2015-10-26 06:45:56 +01:00
Daniel Elstner
6c11b49607
C++: Make most constructors explicit
...
Unless implicit conversion is desired, constructors that can be
called with one argument should be marked as "explicit".
2015-10-26 06:45:56 +01:00
Daniel Elstner
ce3e1e6132
C++: Do not use C-style casts
...
Never ever.
2015-10-26 06:45:56 +01:00
Daniel Elstner
d370545d60
C++: Use move() and avoid passing containers by value
...
Make use of std::move() to transfer arguments passed in by value.
Take complex container arguments by const reference, as passing
those by value is rather unorthodox even for C++11 style code.
2015-10-26 04:06:12 +01:00
Uwe Hermann
dd13d47a9e
bindings: Use SR_DF_ANALOG, drop SR_DF_ANALOG_OLD support.
...
All SR_DF_ANALOG_OLD packets are automatically converted to SR_DF_ANALOG
in the session already.
2015-10-21 00:29:29 +02:00
Uwe Hermann
5faebab290
SR_DF_ANALOG_OLD and sr_datafeed_analog_old renames.
...
Rename SR_DF_ANALOG to SR_DF_ANALOG_OLD, and 'struct sr_datafeed_analog'
to 'struct sr_datafeed_analog_old'.
2015-10-20 23:32:45 +02:00
Daniel Elstner
ee9953ef12
session: Make event source injection API private
...
Also remove the corresponding functionality from the bindings.
2015-10-17 17:40:42 +02:00
Daniel Elstner
f91cf612df
C++: Add bindings for session stop notification
2015-10-17 17:40:42 +02:00
Daniel Elstner
7f4d69305b
C++: Remove leftover Context::begin_save() method
2015-10-04 22:11:39 +02:00
Daniel Elstner
e2eaf8580a
C++: Wrap resource access API
...
Introduce a ResourceReader delegate class with virtual methods
corresponding to the C callback functions.
2015-10-01 15:44:55 +02:00
Daniel Elstner
5e1fb33469
session-file: Remove old session save API
...
Completely remove the old session save code that has been
superseded by the srzip output module. Also refactor a bit,
plug a number of leaks and tighten the error checking.
2015-10-01 15:44:55 +02:00
Daniel Elstner
782b16447b
log: Remove sr_log_logdomain_{get,set} from the API
...
The confusingly named sr_log_logdomain_set() simply set a global
string prefixed to the log message by the default log callback.
This is pretty much useless, misleadingly named, and not used by
either sigrok-cli or PulseView.
2015-09-13 12:08:54 +02:00
Daniel Elstner
8b2a184327
Build: Prefix directory to include of enums.hpp
...
This fixes a build problem due to the reduced include search paths
introduced by my recent changes. Also fix a couple of other
includes to use angle brackets.
2015-08-16 18:28:13 +02:00
Soeren Apel
3cd4b38174
Introduce OutputFlag
2015-08-15 23:53:12 +02:00
Soeren Apel
81b3ce374c
Add filename field to sr_output and make it accessible
...
This fixes parts of bug #570 .
2015-07-30 19:21:42 +02:00
Martin Ling
2b51d48b38
C++: Change arguments of Input::send() from std::string to data+length.
2015-04-20 10:12:39 +01:00
Joel Holdsworth
8a174d2342
output: Added preferred file extension field
...
This fixes parts of bug #541 .
2015-01-27 18:05:29 +01:00
Joel Holdsworth
c7bc82ffa1
input: Added preferred file extension field
...
This fixes parts of bug #541 .
2015-01-27 18:05:25 +01:00
Uwe Hermann
161dc24d84
cxx: Rename include/libsigrok/ to include/libsigrokcxx/.
2015-01-17 20:26:14 +01:00
Uwe Hermann
1b40fdb881
Rename libsigrok.hpp to libsigrokcxx.hpp.
...
This avoids confusion of libsigrok.h vs. libsigrok.hpp and makes it
clearer that this is the main libsigrokcxx header.
2015-01-17 20:15:38 +01:00
Uwe Hermann
e0e6aecc20
libsigrok.hpp: Fix incorrect glibmm.h #include.
...
As per upstream docs "#include <glibmm.h>" is the correct usage,
the "glibmm-2.4" directory is handled correctly via pkg-config:
$ pkg-config --cflags glibmm-2.4
-I/usr/include/glibmm-2.4 [...]
2015-01-17 19:59:44 +01:00
Uwe Hermann
52ff4f6a04
Rename libsigrokxx to the more common libsigrokcxx.
2015-01-17 18:52:43 +01:00
Aurelien Jacobs
24287ea9e3
Add a public API to list available serial ports.
2015-01-03 17:51:51 +01:00
Uwe Hermann
624d16100e
bindings: Add Session::context().
2014-11-13 19:15:37 +01:00
Martin Ling
304be4a771
bindings: Add packet constructors.
2014-11-13 18:37:57 +01:00
Martin Ling
9fa5b426ec
bindings: Add UserDevice wrapping.
2014-11-13 18:37:57 +01:00
Martin Ling
9d229ecb9e
cxx: Implement more of EnumValue in template.
2014-11-12 02:27:04 +01:00
Martin Ling
d3a401c15b
bindings: Remove Device::description().
2014-10-15 13:44:44 +02:00
Martin Ling
1411f7d8e9
bindings: Add Session::filename() and corresponding SWIG attribute.
2014-10-15 13:44:44 +02:00
Martin Ling
73a1eb017b
bindings: Add accessor to obtain parent object.
2014-10-15 13:44:44 +02:00
Martin Ling
98d39b919a
Return sensible Device::description() for session and input devices.
2014-09-30 17:32:09 +01:00
Martin Ling
ca4e307a93
C++: Fix management of SessionDevice objects.
2014-09-30 16:05:27 +01:00
Martin Ling
d1075e5acf
C++: Expose device serial number and connection ID.
2014-09-30 11:50:07 +01:00
Martin Ling
4c7c4194cb
C++: Expose config key capabilities.
2014-09-30 11:07:55 +01:00
Martin Ling
9c51e8ec56
bindings: Update for input API changes.
2014-09-30 01:50:17 +02:00
Martin Ling
a4e4745458
C++: Make hardware device instances user owned.
2014-09-14 05:33:24 +01:00
Martin Ling
db560903d1
C++: use constructors for default argument declarations.
2014-09-13 20:23:46 +01:00
Martin Ling
3b16108573
bindings: Remove 'get_' prefix from all accessors.
2014-09-11 21:27:32 +01:00
Martin Ling
cac58676e9
C++: Add SessionDevice class for devices owned by loaded sessions.
2014-09-08 19:27:38 +02:00
Martin Ling
d9eed47d5b
C++: Add Configurable::config_check() method.
2014-09-08 19:27:38 +02:00
Martin Ling
d54190a363
C++: Add Configurable::config_keys() method.
2014-09-08 19:27:38 +02:00
Martin Ling
59b74d28c9
C++: Make Driver inherit Configurable.
2014-09-08 19:27:38 +02:00
Martin Ling
b4ed33a776
C++: Implement Deleter pattern in UserOwned template.
2014-09-02 22:35:16 +02:00
Martin Ling
90e89c2a42
C++: Add UserOwned base template for objects with resources owned by user.
2014-09-02 22:35:16 +02:00
Martin Ling
541c855e1d
C++: Rename StructureWrapper to ParentOwned.
2014-09-02 22:35:16 +02:00
Martin Ling
bf52cc8cf2
C++: Make StructureWrapper a recurring template, eliminating lots of casts.
2014-09-02 22:35:16 +02:00
Martin Ling
0d0170ae9e
C++: Fix duplicated shared_ptr creation.
2014-09-02 21:33:47 +02:00