diff options
| author | 2009-10-19 20:29:39 +0200 | |
|---|---|---|
| committer | 2009-10-22 07:52:53 -0700 | |
| commit | 544215cd776c1db58ce8e8a3db6457b5d977e421 (patch) | |
| tree | 806a0dd662396f717eb428b349e4aa6e59cde47a /swig/iphone.i | |
| parent | 4740e30d178c8a588f522586a817039d6be8da3b (diff) | |
| download | libimobiledevice-544215cd776c1db58ce8e8a3db6457b5d977e421.tar.gz libimobiledevice-544215cd776c1db58ce8e8a3db6457b5d977e421.tar.bz2 | |
Update swig header and autotools to compile with latest libplist API.
[#77 state:resolved]
Signed-off-by: Matt Colyer <matt@colyer.name>
Diffstat (limited to 'swig/iphone.i')
| -rw-r--r-- | swig/iphone.i | 63 |
1 files changed, 49 insertions, 14 deletions
diff --git a/swig/iphone.i b/swig/iphone.i index ba6345a..6604c63 100644 --- a/swig/iphone.i +++ b/swig/iphone.i | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | #include <libiphone/lockdown.h> | 7 | #include <libiphone/lockdown.h> |
| 8 | #include <libiphone/mobilesync.h> | 8 | #include <libiphone/mobilesync.h> |
| 9 | #include <plist/plist.h> | 9 | #include <plist/plist.h> |
| 10 | #include <plist/plist++.h> | ||
| 10 | #include "../src/utils.h" | 11 | #include "../src/utils.h" |
| 11 | typedef struct { | 12 | typedef struct { |
| 12 | iphone_device_t dev; | 13 | iphone_device_t dev; |
| @@ -27,6 +28,7 @@ void my_delete_iPhone(iPhone* dev); | |||
| 27 | Lockdownd* my_new_Lockdownd(iPhone* phone); | 28 | Lockdownd* my_new_Lockdownd(iPhone* phone); |
| 28 | void my_delete_Lockdownd(Lockdownd* lckd); | 29 | void my_delete_Lockdownd(Lockdownd* lckd); |
| 29 | MobileSync* my_new_MobileSync(Lockdownd* lckd); | 30 | MobileSync* my_new_MobileSync(Lockdownd* lckd); |
| 31 | PList::Node* new_node_from_plist(plist_t node); | ||
| 30 | 32 | ||
| 31 | %} | 33 | %} |
| 32 | /* Parse the header file to generate wrappers */ | 34 | /* Parse the header file to generate wrappers */ |
| @@ -98,6 +100,41 @@ MobileSync* my_new_MobileSync(Lockdownd* lckd) { | |||
| 98 | return client; | 100 | return client; |
| 99 | } | 101 | } |
| 100 | 102 | ||
| 103 | PList::Node* new_node_from_plist(plist_t node) | ||
| 104 | { | ||
| 105 | PList::Node* ret = NULL; | ||
| 106 | plist_type subtype = plist_get_node_type(node); | ||
| 107 | switch(subtype) | ||
| 108 | { | ||
| 109 | case PLIST_DICT: | ||
| 110 | ret = new PList::Dictionary(node); | ||
| 111 | break; | ||
| 112 | case PLIST_ARRAY: | ||
| 113 | ret = new PList::Array(node); | ||
| 114 | break; | ||
| 115 | case PLIST_BOOLEAN: | ||
| 116 | ret = new PList::Boolean(node); | ||
| 117 | break; | ||
| 118 | case PLIST_UINT: | ||
| 119 | ret = new PList::Integer(node); | ||
| 120 | break; | ||
| 121 | case PLIST_REAL: | ||
| 122 | ret = new PList::Real(node); | ||
| 123 | break; | ||
| 124 | case PLIST_STRING: | ||
| 125 | ret = new PList::String(node); | ||
| 126 | break; | ||
| 127 | case PLIST_DATE: | ||
| 128 | ret = new PList::Date(node); | ||
| 129 | break; | ||
| 130 | case PLIST_DATA: | ||
| 131 | ret = new PList::Data(node); | ||
| 132 | break; | ||
| 133 | default: | ||
| 134 | break; | ||
| 135 | } | ||
| 136 | return ret; | ||
| 137 | } | ||
| 101 | %} | 138 | %} |
| 102 | 139 | ||
| 103 | 140 | ||
| @@ -154,15 +191,14 @@ MobileSync* my_new_MobileSync(Lockdownd* lckd) { | |||
| 154 | my_delete_Lockdownd($self); | 191 | my_delete_Lockdownd($self); |
| 155 | } | 192 | } |
| 156 | 193 | ||
| 157 | void send(PListNode* node) { | 194 | void send(PList::Node* node) { |
| 158 | lockdownd_send($self->client, node->node); | 195 | lockdownd_send($self->client, node->GetPlist()); |
| 159 | } | 196 | } |
| 160 | 197 | ||
| 161 | PListNode* receive() { | 198 | PList::Node* receive() { |
| 162 | PListNode* node = (PListNode*)malloc(sizeof(PListNode)); | 199 | plist_t node = NULL; |
| 163 | node->node = NULL; | 200 | lockdownd_recv($self->client, &node); |
| 164 | lockdownd_recv($self->client, &(node->node)); | 201 | return new_node_from_plist(node); |
| 165 | return node; | ||
| 166 | } | 202 | } |
| 167 | 203 | ||
| 168 | MobileSync* get_mobilesync_client() { | 204 | MobileSync* get_mobilesync_client() { |
| @@ -180,15 +216,14 @@ MobileSync* my_new_MobileSync(Lockdownd* lckd) { | |||
| 180 | free($self); | 216 | free($self); |
| 181 | } | 217 | } |
| 182 | 218 | ||
| 183 | void send(PListNode* node) { | 219 | void send(PList::Node* node) { |
| 184 | mobilesync_send($self->client, node->node); | 220 | mobilesync_send($self->client, node->GetPlist()); |
| 185 | } | 221 | } |
| 186 | 222 | ||
| 187 | PListNode* receive() { | 223 | PList::Node* receive() { |
| 188 | PListNode* node = (PListNode*)malloc(sizeof(PListNode)); | 224 | plist_t node = NULL; |
| 189 | node->node = NULL; | 225 | mobilesync_recv($self->client, &node); |
| 190 | mobilesync_recv($self->client, &(node->node)); | 226 | return new_node_from_plist(node); |
| 191 | return node; | ||
| 192 | } | 227 | } |
| 193 | }; | 228 | }; |
| 194 | 229 | ||
