summaryrefslogtreecommitdiffstats
path: root/swig/plist.i
diff options
context:
space:
mode:
authorGravatar Jonathan Beck2009-10-16 22:32:15 +0200
committerGravatar Jonathan Beck2009-10-16 22:32:15 +0200
commit0f69774fcfe32ac2a8dacefbea61e84d0a26a012 (patch)
tree5da7e0d661b9126e5bd0f98d592a5665a36461e0 /swig/plist.i
parent7ba9a5437e49868ca7a7cc2f4d006509308b1ab4 (diff)
downloadlibplist-0f69774fcfe32ac2a8dacefbea61e84d0a26a012.tar.gz
libplist-0f69774fcfe32ac2a8dacefbea61e84d0a26a012.tar.bz2
Change python binding to be based on libplist++ object model.
Deprecate old binding.
Diffstat (limited to 'swig/plist.i')
-rw-r--r--swig/plist.i34
1 files changed, 32 insertions, 2 deletions
diff --git a/swig/plist.i b/swig/plist.i
index dd0121d..1ab35b5 100644
--- a/swig/plist.i
+++ b/swig/plist.i
@@ -4,6 +4,8 @@
%{
/* Includes the header in the wrapper code */
#include <plist/plist.h>
+ #include <plist/plist++.h>
+
typedef struct {
plist_t node;
char should_keep_plist;
@@ -21,6 +23,34 @@ PListNode *allocate_plist_wrapper(plist_t plist, char should_keep_plist) {
}
%}
+%include "stl.i"
+
+%rename(__assign__) *::operator=;
+%rename(__getitem__) *::operator[];
+
+%ignore Boolean(plist_t);
+%ignore Integer(plist_t);
+%ignore Real(plist_t);
+%ignore String(plist_t);
+%ignore Data(plist_t);
+%ignore Date(plist_t);
+%ignore Array(plist_t);
+%ignore Dictionary(plist_t);
+
+%include <plist/Node.h>
+%include <plist/Boolean.h>
+%include <plist/Integer.h>
+%include <plist/Real.h>
+%include <plist/String.h>
+%include <plist/Data.h>
+%include <plist/Date.h>
+%include <plist/Structure.h>
+%include <plist/Array.h>
+%include <plist/Dictionary.h>
+%include <plist/Utils.h>
+
+//deprecated wrapper below
+
%include "stdint.i"
%include "cstring.i"
@@ -189,9 +219,9 @@ typedef struct {
}
char as_bool() {
- char b;
+ uint8_t b;
plist_get_bool_val($self->node, &b);
- return b;
+ return (char)b;
}
uint64_t as_uint() {