OpenSync 0.22

opensync/opensync_convert.h

00001 
00002 typedef enum {
00004         CONVERTER_CONV = 1,
00006         CONVERTER_ENCAP = 2,
00008         CONVERTER_DECAP = 3,
00010         CONVERTER_DETECTOR = 4
00011 } ConverterType;
00012 
00016 typedef enum {
00018         CONV_DATA_UNKNOWN = 0,
00020         CONV_DATA_MISMATCH = 1,
00022         CONV_DATA_SIMILAR = 2,
00024         CONV_DATA_SAME = 3
00025 } OSyncConvCmpResult;
00026 
00027 typedef OSyncConvCmpResult (* OSyncFormatCompareFunc) (OSyncChange *leftchange, OSyncChange *rightchange);
00028 typedef osync_bool (* OSyncFormatConvertFunc) (void *init_data, char *input, int inpsize, char **output, int *outpsize, osync_bool *free_input, OSyncError **error);
00029 typedef osync_bool (* OSyncFormatCopyFunc) (const char *input, int inpsize, char **output, int *outpsize);
00030 typedef osync_bool (* OSyncFormatDetectDataFunc) (OSyncFormatEnv *env, const char *data, int size);
00031 typedef void (* OSyncFormatDuplicateFunc) (OSyncChange *change);
00032 typedef void (* OSyncFormatCreateFunc) (OSyncChange *change);
00033 typedef void (* OSyncFormatMergeFunc) (OSyncChange *leftchange, OSyncChange *rightchange, OSyncError **);
00034 typedef void (* OSyncFormatDestroyFunc) (char *data, size_t size);
00035 typedef char *(* OSyncFormatPrintFunc) (OSyncChange *change);
00036 typedef void *(* OSyncFormatConverterInitFunc) (void);
00037 typedef void (* OSyncFormatConverterFinalizeFunc) (void *);
00038 typedef osync_bool (* OSyncFormatExtInitFunc) (void *);
00039 typedef time_t (* OSyncFormatRevisionFunc) (OSyncChange *change, OSyncError **error);
00040 typedef osync_bool (* OSyncFormatMarshallFunc) (const char *nput, int inpsize, char **output, int *outpsize, OSyncError **);
00041 typedef osync_bool (* OSyncFormatDemarshallFunc) (const char *nput, int inpsize, char **output, int *outpsize, OSyncError **);
00042 
00043 OSyncFormatEnv *osync_conv_env_new(OSyncEnv *env);
00044 void osync_conv_env_free(OSyncFormatEnv *env);
00045 osync_bool osync_conv_set_common_format(OSyncFormatEnv *env, const char *objtypestr, const char *formatname, OSyncError **error);
00046 
00047 OSyncObjType *osync_conv_find_objtype(OSyncFormatEnv *env, const char *name);
00048 OSyncObjFormat *osync_conv_find_objformat(OSyncFormatEnv *env, const char *name);
00049 int osync_conv_num_objtypes(OSyncFormatEnv *env);
00050 OSyncObjType *osync_conv_nth_objtype(OSyncFormatEnv *env, int nth);
00051 int osync_conv_num_objformats(OSyncObjType *type);
00052 OSyncObjFormat *osync_conv_nth_objformat(OSyncObjType *type, int nth);
00053 OSyncFormatConverter *osync_conv_find_converter(OSyncFormatEnv *env, const char *sourcename, const char *targetname);
00054 
00055 const char *osync_objtype_get_name(OSyncObjType *type);
00056 const char *osync_objformat_get_name(OSyncObjFormat *format);
00057 OSyncObjType *osync_objformat_get_objtype(OSyncObjFormat *format);