]> sigrok.org Git - libsigrok.git/commitdiff
bindings: Add Device::get_description() method.
authorMartin Ling <redacted>
Thu, 24 Jul 2014 13:45:58 +0000 (14:45 +0100)
committerMartin Ling <redacted>
Thu, 24 Jul 2014 22:42:53 +0000 (23:42 +0100)
bindings/cxx/classes.cpp
bindings/cxx/include/libsigrok/libsigrok.hpp
bindings/swig/classes.i

index ac583d04cc4b8e5a655530df6388031ec4d15911..044e8c4565b706e997ea95a84c8f72caff9a4ec3 100644 (file)
@@ -19,6 +19,8 @@
 
 #include "libsigrok/libsigrok.hpp"
 
+#include <sstream>
+
 namespace sigrok
 {
 
@@ -362,6 +364,20 @@ Device::~Device()
                delete entry.second;
 }
 
+string Device::get_description()
+{
+       ostringstream s;
+
+       vector<string> parts =
+               {get_vendor(), get_model(), get_version()};
+
+       for (string part : parts)
+               if (part.length() > 0)
+                       s << part;
+
+       return s.str();
+}
+
 string Device::get_vendor()
 {
        return valid_string(structure->vendor);
index 041f84984cb4e1699321bf98a6b5453fb7eb2b75..a6cca1d2b5c638bf45c5c117b0e0bb07622ef16b 100644 (file)
@@ -276,6 +276,8 @@ class SR_API Device :
        public StructureWrapper<Context, struct sr_dev_inst>
 {
 public:
+       /** Description identifying this device. */
+       string get_description();
        /** Vendor name for this device. */
        string get_vendor();
        /** Model name for this device. */
index 7c6b60c6e69bcfc152df6a3323dc92d9c48c72ea..253ce01b4b770dcaee17fbcbb6a7fbaebe41b850 100644 (file)
@@ -180,6 +180,7 @@ typedef std::map<const sigrok::ConfigKey *, Glib::VariantBase>
 %attributestring(sigrok::OutputFormat,
     std::string, description, get_description);
 
+%attributestring(sigrok::Device, std::string, description, get_description);
 %attributestring(sigrok::Device, std::string, vendor, get_vendor);
 %attributestring(sigrok::Device, std::string, model, get_model);
 %attributestring(sigrok::Device, std::string, version, get_version);