]> sigrok.org Git - libsigrok.git/blobdiff - bindings/swig/templates.i
bindings: Wrap enum sr_configcap as Capability class.
[libsigrok.git] / bindings / swig / templates.i
index bbb3619cbc4db653d76abb048560160cedb9f802..f160866d21161db76c2bc2368b886f1b52bcd1f6 100644 (file)
@@ -26,6 +26,13 @@ using namespace std;
 %include "std_shared_ptr.i"
 %include "std_vector.i"
 %include "std_map.i"
+#ifdef SWIGJAVA
+namespace std {
+  template <class _Key> class set {};
+}
+#else
+%include "std_set.i"
+#endif
 
 %template(StringMap) std::map<std::string, std::string>;
 
@@ -56,6 +63,17 @@ using namespace std;
 %template(ConfigMap)
     std::map<const sigrok::ConfigKey *, Glib::VariantBase>;
 
+/* Currently broken on Python. */
+#ifndef SWIGPYTHON
+
+%template(CapabilitySet)
+    std::set<const sigrok::Capability *>;
+
+%template(ConfigKeys)
+    std::map<const sigrok::ConfigKey *, std::set<const sigrok::Capability *> >;
+
+#endif
+
 %template(OptionVector)
     std::vector<std::shared_ptr<sigrok::Option> >;
 %template(OptionMap)