Thanks to matthew for suggesting.
#define GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), E_TYPE_CAL_BACKEND_FILE_STORE, ECalBackendFileStorePrivate))
-typedef struct _ECalBackendFileStorePrivate ECalBackendFileStorePrivate;
-
typedef struct {
ECalComponent *comp;
GHashTable *recurrences;
priv = GET_PRIVATE(self);
+ self->priv = priv;
priv->timezones = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
priv->comp_uid_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify) destroy_full_object);
priv->keys_cache = NULL;
#define E_CAL_BACKEND_FILE_STORE_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), E_TYPE_CAL_BACKEND_FILE_STORE, ECalBackendFileStoreClass))
+typedef struct _ECalBackendFileStorePrivate ECalBackendFileStorePrivate;
+
typedef struct {
ECalBackendStore parent;
+ ECalBackendFileStorePrivate *priv;
} ECalBackendFileStore;
typedef struct {
#define GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), E_TYPE_CAL_BACKEND_STORE, ECalBackendStorePrivate))
-typedef struct _ECalBackendStorePrivate ECalBackendStorePrivate;
-
struct _ECalBackendStorePrivate {
ECalSourceType source_type;
gchar *uri;
priv = GET_PRIVATE(store);
+ store->priv = priv;
priv->uri = NULL;
priv->path = NULL;
priv->source_type = E_CAL_SOURCE_TYPE_EVENT;
#define E_CAL_BACKEND_STORE_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), E_TYPE_CAL_BACKEND_STORE, ECalBackendStoreClass))
+typedef struct _ECalBackendStorePrivate ECalBackendStorePrivate;
+
typedef struct {
GObject parent;
+ ECalBackendStorePrivate *priv;
} ECalBackendStore;
typedef struct {