#ifndef _OPENSYNC_CHANGE_INTERNALS_H_
#define _OPENSYNC_CHANGE_INTERNALS_H_
/*! @ingroup OSyncChangePrivate
* @brief A change object */
struct OSyncChange {
/** The uid of this change */
char *uid;
/** The hash of this change*/
char *hash; //Hash value to identify changes
/** The data reported from the plugin */
char *data; //The data of the object
/** The size of the data from the plugin */
int size;
/** Is the set data already the "real" data */
osync_bool has_data;
/** The object type of the change */
OSyncObjType *objtype;
/** The name of the object type */
char *objtype_name;
/** The format of the change */
OSyncObjFormat *format;
/** The name of the format */
char *format_name;
/** The format that was initialy reported */
OSyncObjFormat *initial_format;
/** The name of the initial format */
char *initial_format_name;
/** The conversion environment of this change */
OSyncFormatEnv *conv_env;
/** The parent of this change */
OSyncMember *member;
/** The change type */
OSyncChangeType changetype;
/** The data associated by the engine with this change */
void *engine_data;
/** The unique id */
long long int id;
/** The reference counter for this object */
int refcount;
/** The id of the mapping for this change */
long long int mappingid;
/** The database where this change is stored */
OSyncDB *changes_db;
//For the filters
/** The name of the destination object type for the filter */
char *destobjtype;
/** the name of the source object type for the filter */
char *sourceobjtype;
/** the member where this change originated */
OSyncMember *sourcemember;
};
OSyncObjFormat *osync_change_get_initial_objformat(OSyncChange *change);
#endif //_OPENSYNC_CHANGE_INTERNALS_H_
syntax highlighted by Code2HTML, v. 0.9.1