| Midgard2 Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <midgard/midgard.h>
MidgardReplicatorPrivate;
struct MidgardReplicator;
typedef MidgardReplicatorClass;
gchar * midgard_replicator_serialize (GObject *object);
gboolean midgard_replicator_export (MidgardDBObject *object);
gchar * midgard_replicator_export_purged (MidgardConnection *mgd,
const gchar *classname,
const gchar *startdate,
const gchar *enddate);
gchar * midgard_replicator_serialize_blob (MidgardObject *object);
gchar * midgard_replicator_export_blob (MidgardObject *object);
gboolean midgard_replicator_export_by_guid (MidgardConnection *mgd,
const gchar *guid);
gchar * midgard_replicator_export_media (MidgardObject *object);
GObject ** midgard_replicator_unserialize (MidgardConnection *mgd,
const gchar *xml,
gboolean force);
gboolean midgard_replicator_import_object (MidgardDBObject *object,
gboolean force);
void midgard_replicator_import_from_xml (MidgardConnection *mgd,
const gchar *xml,
gboolean force);
MidgardReplicator lets you serialize and unserialize objects. Once transformed to string, can be sent as custom message through D_Bus services, imported to different database, stored in files, etc.
http://www.midgard-project.org/development/mrfc/view/0030.html
http://www.midgard-project.org/development/mrfc/view/0033.html
gchar * midgard_replicator_serialize (GObject *object);
|
GObject (or derived class) instance |
Returns : |
serialized objects as xml content or NULL on failure. |
gboolean midgard_replicator_export (MidgardDBObject *object);
Given object is not serialized. Its storage record is marked as exported.
see midgard_object_update() to find out possible error codes returned in case of MidgardObject failure.
|
MidgardDBObject instance |
Returns : |
TRUE on success, FALSE otherwise. |
gchar * midgard_replicator_export_purged (MidgardConnection *mgd,const gchar *classname,const gchar *startdate,const gchar *enddate);
Exports all purged objects of given class. If startdate or enddate are not NULL,
all objects which were purged between dates will be exported.
|
MidgardConnection instance |
|
name of MidgardObjectClass derived one |
|
optional start date |
|
optional end date |
Returns : |
xml buffer with serialized objects or NULL if there are no objects matching given criteria. |
gchar * midgard_replicator_serialize_blob (MidgardObject *object);
Serialize midgard_blob binary data.
|
MidgardObject of MIDGARD_TYPE_ATTACHMENT type |
Returns : |
Newly allocated xml buffer, which holds blob data base64 encoded, or NULL. |
gchar * midgard_replicator_export_blob (MidgardObject *object);
Alias for midgard_replicator_serialize_blob().
|
MidgardObject of MIDGARD_TYPE_ATTACHMENT type |
Returns : |
serialized object as xml data |
gboolean midgard_replicator_export_by_guid (MidgardConnection *mgd,const gchar *guid);
Marks object's storage record as exported.
Cases to return FALSE:
Given guid is NULL or empty string (MGD_ERR_INVALID_PROPERTY_VALUE)
Object identified by given guid doesn't exist (MGD_ERR_NOT_EXISTS)
Object identified by given guid is purged (MGD_ERR_OBJECT_PURGED)
Internal storage error (MGD_ERR_INTERNAL)
|
MidgardConnection instance |
|
guid which identifies object to be exported |
Returns : |
TRUE on success, FALSE otherwise |
GObject ** midgard_replicator_unserialize (MidgardConnection *mgd,const gchar *xml,gboolean force);
|
MidgardConnection instance |
|
xml buffer which holds serialized object |
|
toggle to force unserialization |
Returns : |
Newly allocated array of GObjects. [transfer full] |
gboolean midgard_replicator_import_object (MidgardDBObject *object,gboolean force);
Imports given object to underlying storage
Cases to return FALSE:
Given guid is NULL or empty string (MGD_ERR_INVALID_PROPERTY_VALUE)
Object is already imported (MGD_ERR_OBJECT_IMPORTED)
Object identified is deleted (MGD_ERR_OBJECT_DELETED)
Object doesn't provide metadata one (MGD_ERR_NO_METADATA)
Set force toggle if you want to import object even if it's already imported or deleted.
|
MidgardDBObject instance |
|
toggle to force import |
Returns : |
TRUE on success, FALSE otherwise |
void midgard_replicator_import_from_xml (MidgardConnection *mgd,const gchar *xml,gboolean force);
This method tries to import all objects which could be unserialized from gievn xml.
It's not atomic. Check error code returned from midgard_connection_get_error().
|
MidgardConnection instance |
|
data buffer which holds serialized object |
|
toggle to force import |