Commit Graph

133 Commits

Author SHA1 Message Date
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 afba88adb5 libsigrokcxx: Drop Requires.private entry.
libsigrokcxx.pc has a "Requires" field listing "libsigrok" which
will cause libsigrok's "Requires.private" entries to be used/inherited
when 'pkg-config --libs --static libsigrokcxx' is used.
2015-01-17 19:53: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 e835e8080b bindings: Session::set_trigger(): Fix segfault condition.
sr_session_trigger_set(sess, NULL) is a valid thing to do, meaning that
any trigger shall be removed from the session.

This closes bugs #491 and #496.
2014-11-24 01:11:17 +01:00
Uwe Hermann b8721d7cf0 bindings: Fix out-of-tree build.
This closes #473.
2014-11-14 20:01:12 +01:00
Martin Ling d2a929ab85 bindings: Fix enums.py compatibility with Python 3. 2014-11-13 20:38:56 +00: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 b2db9f3bbe bindings: Add QuantityFlag::mask_from_flags() method. 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 7a36ceacb9 bindings: Support per-language extensions to EnumValue wrappers. 2014-11-12 02:27:05 +01:00
Martin Ling e480df0c45 bindings: Expose ConfigKey::identifier as an attribute. 2014-11-12 02:27:04 +01:00
Martin Ling 189461b251 bindings: Expose EnumValue::id and EnumValue::name as attributes. 2014-11-12 02:27:04 +01:00
Martin Ling fe4096fde6 bindings: Wrap EnumValue base class. 2014-11-12 02:27:04 +01:00
Martin Ling 0bc1a7613a bindings: Rename ConfigKey::get(string) to get_by_identifier().
The polymorphism with get(int) causes problems here when a char * is passed.
2014-11-12 02:27:04 +01:00
Martin Ling 9d229ecb9e cxx: Implement more of EnumValue in template. 2014-11-12 02:27:04 +01:00
Uwe Hermann 80fe524740 bindings: Use getters now that 'struct sr_dev_inst' is opaque. 2014-11-11 16:55:37 +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 f36f7d0282 C++: Don't clear Session::_owned_devices() in Session::remove_devices().
Owned devices are freed only when the session is destroyed.
2014-10-15 13:44:25 +02:00
Jens Steinhauser 174bf146e5 bindings: Better error handling in enumeration get() function.
Prior to this patch a call to get() with an invalid enumeration value
would raise an exception that would, for example, terminate the python
interpreter, whereas now the exception is handled and translated into a
proper python exception.
2014-10-07 15:15:17 +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 584f76a78a C++: Add spaces in Device::description(). 2014-09-30 13:19: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
Aurelien Jacobs 03a4c07aff C++: handle uint32_t SR_CONF keys which contain key capabilities
This adapts the C++ bindings according to commits 584560f and 5827f61.
2014-09-30 00:37:03 +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 35114c3394 C++: include <cmath> for NAN. 2014-09-13 20:23:23 +01:00
Martin Ling 3b16108573 bindings: Remove 'get_' prefix from all accessors. 2014-09-11 21:27:32 +01:00
Martin Ling d4cf45e516 C++: Whitespace fix. 2014-09-08 19:27:38 +02:00
Martin Ling cac58676e9 C++: Add SessionDevice class for devices owned by loaded sessions. 2014-09-08 19:27:38 +02:00
Martin Ling be43d5d584 C++: Preserve original channel ordering. 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 4f7bcf0ec3 C++: Fix recursion loop in PacketPayload::get_shared_pointer(). 2014-09-08 19:27:37 +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 ba4eac48d4 C++: Don't spell out arguments to StructureWrapper when not required. 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
Martin Ling 3bc172a61f C++: Remove erroneous stray method. 2014-09-02 21:33:47 +02:00
Martin Ling 78132e2a13 C++: Add sanity checks in StructureWrapper. 2014-08-31 19:03:31 +02:00
Marcus Comstedt d92de05ad1 C++: Provide fallbacks for missing stoi/stod functions
Notably, Android does not provide these functions.  The fallback
implementation is based on the one in the GNU ISO C++ Library.
2014-08-31 13:31:35 +02:00
Martin Ling 4cd883a7f3 C++: Fix shared pointer handling for PacketPayload base class. 2014-08-29 20:06:49 +01:00
Martin Ling b31581f8a8 C++: Fix hash table initialisation in map_to_hash_variant. 2014-08-29 17:35:46 +01:00
Martin Ling d01d231487 C++: Fix shared pointer handling for Device base class. 2014-08-29 14:01:51 +01:00
Bert Vermeulen f88c73732c C++: Use sr_input_scan_*() API changes. 2014-08-28 12:19:55 +02:00
Martin Ling 7f5a036750 C++: Update InputFormat::get_options for latest version of input API. 2014-08-26 01:55:41 +02:00
Martin Ling 43942280bb C++: Implement InputFormat::get_options() 2014-08-26 01:55:41 +02:00
Martin Ling 6e5240f418 C++: Correct ownership of InputDevice objects. 2014-08-26 01:55:41 +02:00
Martin Ling ca3291e3ee Update bindings for new input API. 2014-08-26 01:55:41 +02:00
Marcus Comstedt 33c84e8197 Makefile.am: Fix out-of-tree build for C++ and Java bindings 2014-08-17 12:58:39 +02:00
Martin Ling 70d3b20ba6 bindings: update for sr_output_options_{get,free} API change. 2014-08-17 11:44:05 +01:00
Uwe Hermann ac0db24ad4 Doxygen: Silence Doxygen warnings by default.
This allows for a clean build per default. Developers can enable
those switches while writing documentation to get a few useful
warnings.
2014-08-10 18:16:07 +02:00
Martin Ling b6f411ac4e C++: Add parameter documentation and additional method descriptions. 2014-08-10 15:47:14 +02:00
Martin Ling bd4fda2407 bindings: Transfer C++ documentation strings to Python and Java wrappers. 2014-08-10 15:47:13 +02:00
Martin Ling 84c870852a C++ bindings: Attach documentation to enum wrapper classes. 2014-08-10 15:47:13 +02:00
Martin Ling 3532ed0125 C++ bindings: Reimplement enums.py using doxygen XML output instead of gccxml. 2014-08-10 15:47:13 +02:00
Martin Ling 58aa1f8359 Update bindings to use new output API. 2014-07-26 16:03:25 +01:00
Martin Ling 06bd935e16 bindings: Add Channel::get_index() method. 2014-07-24 23:42:53 +01:00
Martin Ling f36ca8893d bindings: Add Device::get_description() method. 2014-07-24 23:42:53 +01:00
Martin Ling e194c01197 bindings: Change return type of config_list to Glib::VariantContainerBase. 2014-07-24 23:42:53 +01:00
Martin Ling 1d67cfb4ea bindings: Revise Session::append() API. 2014-07-24 23:42:53 +01:00
Martin Ling 6be7a7f287 bindings: Support get_channel_groups() on base Device class. 2014-07-24 23:42:53 +01:00
Martin Ling 2928f47d64 bindings: Overhaul packet & payload classes. 2014-07-24 23:42:53 +01:00
Martin Ling 7009a3921a C++: Fix leak of GVariant in ConfigKey::parse_string(). 2014-07-24 23:42:53 +01:00
Martin Ling 1797a887d7 C++: Fix Packet destructor for packets without payload. 2014-07-24 23:42:51 +01:00
Martin Ling 4178d9712f C++: Add internal lookup to find Channel object from sr_channel *. 2014-07-24 21:00:45 +01:00
Martin Ling 7649683c2a C++: Centralise code for preparing shared pointers. 2014-07-24 21:00:45 +01:00
Martin Ling 07443fd204 Add Doxyfile for C++ bindings and adaptations to C++ header file. 2014-07-23 22:45:37 +01:00
Martin Ling 90ba83f21d bindings: Add Packet.get_type() method. 2014-07-23 22:45:37 +01:00
Martin Ling 6fa0eb86af Add bindings for getting/setting session trigger. 2014-07-23 22:45:37 +01:00
Jens Steinhauser c6036f755a C++ bindings: Make enums.py work with newer versions of pygccxml. 2014-07-22 21:06:16 +02:00
Bert Vermeulen 6884b52bde bindings: Filter out various pygccxml noise. 2014-07-19 19:48:01 +02:00
Martin Ling c23c8659b8 Add C++ bindings. 2014-07-18 20:47:10 +01:00