## ECalBackendSync

ECalBackendSync — Base class for synchronous backends.

## Synopsis

                        ECalBackendSync;
    typedef             ECalBackendSyncStatus;
    ECalBackendSync*    (*ECalBackendSyncFactoryFn)         (void);
    void                e_cal_backend_sync_set_lock         (ECalBackendSync *backend,
                                                             gboolean lock);
    ECalBackendSyncStatus e_cal_backend_sync_is_read_only   (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             gboolean *read_only);
    ECalBackendSyncStatus e_cal_backend_sync_get_cal_address
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **address);
    ECalBackendSyncStatus e_cal_backend_sync_get_alarm_email_address
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **address);
    ECalBackendSyncStatus e_cal_backend_sync_get_ldap_attribute
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **attribute);
    ECalBackendSyncStatus e_cal_backend_sync_get_static_capabilities
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **capabiliites);
    ECalBackendSyncStatus e_cal_backend_sync_open           (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             gboolean only_if_exists,
                                                             const char *username,
                                                             const char *password);
    ECalBackendSyncStatus e_cal_backend_sync_remove         (ECalBackendSync *backend,
                                                             EDataCal *cal);
    ECalBackendSyncStatus e_cal_backend_sync_create_object  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **calobj,
                                                             char **uid);
    ECalBackendSyncStatus e_cal_backend_sync_modify_object  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *calobj,
                                                             CalObjModType mod,
                                                             char **old_object,
                                                             char **new_object);
    ECalBackendSyncStatus e_cal_backend_sync_remove_object  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *uid,
                                                             const char *rid,
                                                             CalObjModType mod,
                                                             char **old_object,
                                                             char **object);
    ECalBackendSyncStatus e_cal_backend_sync_get_attachment_list
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *uid,
                                                             const char *rid,
                                                             GSList **attachments);
    ECalBackendSyncStatus e_cal_backend_sync_discard_alarm  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *uid,
                                                             const char *auid);
    ECalBackendSyncStatus e_cal_backend_sync_receive_objects
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *calobj);
    ECalBackendSyncStatus e_cal_backend_sync_send_objects   (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *calobj,
                                                             GList **users,
                                                             char **modified_calobj);
    ECalBackendSyncStatus e_cal_backend_sync_get_default_object
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **object);
    ECalBackendSyncStatus e_cal_backend_sync_get_object     (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *uid,
                                                             const char *rid,
                                                             char **object);
    ECalBackendSyncStatus e_cal_backend_sync_get_object_list
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *sexp,
                                                             GList **objects);
    ECalBackendSyncStatus e_cal_backend_sync_get_timezone   (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *tzid,
                                                             char **object);
    ECalBackendSyncStatus e_cal_backend_sync_add_timezone   (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *tzobj);
    ECalBackendSyncStatus e_cal_backend_sync_set_default_timezone
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *tzid);
    ECalBackendSyncStatus e_cal_backend_sync_set_default_zone
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *tzobj);
    ECalBackendSyncStatus e_cal_backend_sync_get_changes    (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *change_id,
                                                             GList **adds,
                                                             GList **modifies,
                                                             GList **deletes);
    ECalBackendSyncStatus e_cal_backend_sync_get_free_busy  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             GList *users,
                                                             time_t start,
                                                             time_t end,
                                                             GList **freebusy);

## Object Hierarchy

      GObject
       +----ECalBackend
             +----ECalBackendSync

## Description

## Details

### ECalBackendSync

    typedef struct _ECalBackendSync ECalBackendSync;

### ECalBackendSyncStatus

    typedef GNOME_Evolution_Calendar_CallStatus ECalBackendSyncStatus;

### ECalBackendSyncFactoryFn ()

    ECalBackendSync*    (*ECalBackendSyncFactoryFn)         (void);

Returns : |

### e_cal_backend_sync_set_lock ()

    void                e_cal_backend_sync_set_lock         (ECalBackendSync *backend,
                                                             gboolean lock);

`backend` : |
`lock` : |

### e_cal_backend_sync_is_read_only ()

    ECalBackendSyncStatus e_cal_backend_sync_is_read_only   (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             gboolean *read_only);

`backend` : |
`cal` : |
`read_only` : |
Returns : |

### e_cal_backend_sync_get_cal_address ()

    ECalBackendSyncStatus e_cal_backend_sync_get_cal_address
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **address);

`backend` : |
`cal` : |
`address` : |
Returns : |

### e_cal_backend_sync_get_alarm_email_address ()

    ECalBackendSyncStatus e_cal_backend_sync_get_alarm_email_address
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **address);

`backend` : |
`cal` : |
`address` : |
Returns : |

### e_cal_backend_sync_get_ldap_attribute ()

    ECalBackendSyncStatus e_cal_backend_sync_get_ldap_attribute
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **attribute);

`backend` : |
`cal` : |
`attribute` : |
Returns : |

### e_cal_backend_sync_get_static_capabilities ()

    ECalBackendSyncStatus e_cal_backend_sync_get_static_capabilities
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **capabiliites);

`backend` : |
`cal` : |
`capabiliites` : |
Returns : |

### e_cal_backend_sync_open ()

    ECalBackendSyncStatus e_cal_backend_sync_open           (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             gboolean only_if_exists,
                                                             const char *username,
                                                             const char *password);

`backend` : |
`cal` : |
`only_if_exists` : |
`username` : |
`password` : |
Returns : |

### e_cal_backend_sync_remove ()

    ECalBackendSyncStatus e_cal_backend_sync_remove         (ECalBackendSync *backend,
                                                             EDataCal *cal);

`backend` : |
`cal` : |
Returns : |

### e_cal_backend_sync_create_object ()

    ECalBackendSyncStatus e_cal_backend_sync_create_object  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **calobj,
                                                             char **uid);

`backend` : |
`cal` : |
`calobj` : |
`uid` : |
Returns : |

### e_cal_backend_sync_modify_object ()

    ECalBackendSyncStatus e_cal_backend_sync_modify_object  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *calobj,
                                                             CalObjModType mod,
                                                             char **old_object,
                                                             char **new_object);

`backend` : |
`cal` : |
`calobj` : |
`mod` : |
`old_object` : |
`new_object` : |
Returns : |

### e_cal_backend_sync_remove_object ()

    ECalBackendSyncStatus e_cal_backend_sync_remove_object  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *uid,
                                                             const char *rid,
                                                             CalObjModType mod,
                                                             char **old_object,
                                                             char **object);

`backend` : |
`cal` : |
`uid` : |
`rid` : |
`mod` : |
`old_object` : |
`object` : |
Returns : |

### e_cal_backend_sync_get_attachment_list ()

    ECalBackendSyncStatus e_cal_backend_sync_get_attachment_list
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *uid,
                                                             const char *rid,
                                                             GSList **attachments);

`backend` : |
`cal` : |
`uid` : |
`rid` : |
`attachments` : |
Returns : |

### e_cal_backend_sync_discard_alarm ()

    ECalBackendSyncStatus e_cal_backend_sync_discard_alarm  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *uid,
                                                             const char *auid);

`backend` : |
`cal` : |
`uid` : |
`auid` : |
Returns : |

### e_cal_backend_sync_receive_objects ()

    ECalBackendSyncStatus e_cal_backend_sync_receive_objects
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *calobj);

`backend` : |
`cal` : |
`calobj` : |
Returns : |

### e_cal_backend_sync_send_objects ()

    ECalBackendSyncStatus e_cal_backend_sync_send_objects   (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *calobj,
                                                             GList **users,
                                                             char **modified_calobj);

`backend` : |
`cal` : |
`calobj` : |
`users` : |
`modified_calobj` : |
Returns : |

### e_cal_backend_sync_get_default_object ()

    ECalBackendSyncStatus e_cal_backend_sync_get_default_object
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             char **object);

`backend` : |
`cal` : |
`object` : |
Returns : |

### e_cal_backend_sync_get_object ()

    ECalBackendSyncStatus e_cal_backend_sync_get_object     (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *uid,
                                                             const char *rid,
                                                             char **object);

`backend` : |
`cal` : |
`uid` : |
`rid` : |
`object` : |
Returns : |

### e_cal_backend_sync_get_object_list ()

    ECalBackendSyncStatus e_cal_backend_sync_get_object_list
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *sexp,
                                                             GList **objects);

`backend` : |
`cal` : |
`sexp` : |
`objects` : |
Returns : |

### e_cal_backend_sync_get_timezone ()

    ECalBackendSyncStatus e_cal_backend_sync_get_timezone   (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *tzid,
                                                             char **object);

`backend` : |
`cal` : |
`tzid` : |
`object` : |
Returns : |

### e_cal_backend_sync_add_timezone ()

    ECalBackendSyncStatus e_cal_backend_sync_add_timezone   (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *tzobj);

`backend` : |
`cal` : |
`tzobj` : |
Returns : |

### e_cal_backend_sync_set_default_timezone ()

    ECalBackendSyncStatus e_cal_backend_sync_set_default_timezone
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *tzid);

`backend` : |
`cal` : |
`tzid` : |
Returns : |

### e_cal_backend_sync_set_default_zone ()

    ECalBackendSyncStatus e_cal_backend_sync_set_default_zone
                                                            (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *tzobj);

`backend` : |
`cal` : |
`tzobj` : |
Returns : |

### e_cal_backend_sync_get_changes ()

    ECalBackendSyncStatus e_cal_backend_sync_get_changes    (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             const char *change_id,
                                                             GList **adds,
                                                             GList **modifies,
                                                             GList **deletes);

`backend` : |
`cal` : |
`change_id` : |
`adds` : |
`modifies` : |
`deletes` : |
Returns : |

### e_cal_backend_sync_get_free_busy ()

    ECalBackendSyncStatus e_cal_backend_sync_get_free_busy  (ECalBackendSync *backend,
                                                             EDataCal *cal,
                                                             GList *users,
                                                             time_t start,
                                                             time_t end,
                                                             GList **freebusy);

`backend` : |
`cal` : |
`users` : |
`start` : |
`end` : |
`freebusy` : |
Returns : |