| | 280 | OSyncVersion *version = osync_version_new(error); |
|---|
| | 281 | osync_version_set_plugin(version, "Evolution"); |
|---|
| | 282 | osync_version_set_modelversion(version, "2"); |
|---|
| | 283 | //osync_version_set_firmwareversion(version, "firmwareversion"); |
|---|
| | 284 | //osync_version_set_softwareversion(version, "softwareversion"); |
|---|
| | 285 | //osync_version_set_hardwareversion(version, "hardwareversion"); |
|---|
| | 286 | osync_plugin_info_set_version(info, version); |
|---|
| | 287 | osync_version_unref(version); |
|---|
| | 288 | |
|---|
| | 289 | EBook* ebook; |
|---|
| | 290 | if (!(ebook = e_book_new_default_addressbook(&gerror))) { |
|---|
| | 291 | osync_error_set(error, OSYNC_ERROR_GENERIC, "Failed to alloc new default addressbook: %s", gerror ? gerror->message : "None"); |
|---|
| | 292 | goto error; |
|---|
| | 293 | } |
|---|
| | 294 | if (!e_book_open(ebook, TRUE, &gerror)) { |
|---|
| | 295 | osync_error_set(error, OSYNC_ERROR_GENERIC, "Failed to open addressbook: %s", gerror ? gerror->message : "None"); |
|---|
| | 296 | goto error_free_book; |
|---|
| | 297 | } |
|---|
| | 298 | if (!(e_book_get_supported_fields (ebook, &fields, &gerror))) { |
|---|
| | 299 | osync_error_set(error, OSYNC_ERROR_GENERIC, "Failed to get supported fields: %s", gerror ? gerror->message : "None"); |
|---|
| | 300 | goto error_free_book; |
|---|
| | 301 | } |
|---|
| | 302 | |
|---|
| | 303 | OSyncCapabilities* capabilities = osync_capabilities_new(error); |
|---|
| | 304 | if(capabilities == NULL) |
|---|
| | 305 | goto error; |
|---|
| | 306 | |
|---|
| | 307 | for(; fields; fields = g_list_next(fields)) |
|---|
| | 308 | { |
|---|
| | 309 | osync_capability_new(capabilities, "contact", fields->data, error); |
|---|
| | 310 | g_free(fields->data); |
|---|
| | 311 | } |
|---|
| | 312 | g_list_free(fields); |
|---|
| | 313 | |
|---|
| | 314 | g_object_unref(ebook); |
|---|
| | 315 | |
|---|
| | 316 | osync_plugin_info_set_capabilities(info, capabilities); |
|---|
| | 317 | osync_capabilities_unref(capabilities); |
|---|
| | 318 | |
|---|
| | 319 | |
|---|