Changeset 2564

Show
Ignore:
Timestamp:
10/14/07 19:54:56 (1 year ago)
Author:
dgollub
Message:

Fixed osync_mapping_engine_supports_ignore() - it makes now use of
osync_objtype_sink_get_function_read() instead of
osync_objtype_sink_get_read():

+OSYNC_EXPORT osync_bool osync_objtype_sink_get_function_read(OSyncObjTypeSink *sink);
+OSYNC_EXPORT void osync_objtype_sink_set_function_read(OSyncObjTypeSink *sink, osync_bool read);
+
+OSYNC_EXPORT osync_bool osync_objtype_sink_get_function_getchanges(OSyncObjTypeSink *sink);
+OSYNC_EXPORT void osync_objtype_sink_set_function_getchanges(OSyncObjTypeSink *sink, osync_bool getchanges);
+
+OSYNC_EXPORT osync_bool osync_objtype_sink_get_function_write(OSyncObjTypeSink *sink);
+OSYNC_EXPORT void osync_objtype_sink_set_function_write(OSyncObjTypeSink *sink, osync_bool write);

If you want to setup a unidirectional sync and and change a member
objtype sink to "read-only", "write-only" or something compeletely
different use:

OSYNC_EXPORT osync_bool osync_objtype_sink_get_write(OSyncObjTypeSink *sink);
OSYNC_EXPORT void osync_objtype_sink_set_write(OSyncObjTypeSink *sink, osync_bool write);


+OSYNC_EXPORT osync_bool osync_objtype_sink_get_getchanges(OSyncObjTypeSink *sink);
+OSYNC_EXPORT void osync_objtype_sink_set_getchanges(OSyncObjTypeSink *sink, osync_bool write);
+

OSYNC_EXPORT osync_bool osync_objtype_sink_get_read(OSyncObjTypeSink *sink);
OSYNC_EXPORT void osync_objtype_sink_set_read(OSyncObjTypeSink *sink, osync_bool read);

---

Dropped osync_member_add_objtype(). Use osync_member_add_objtype_sink()
instead:

-OSYNC_EXPORT void osync_member_add_objtype(OSyncMember *member, const char *objtype);
+OSYNC_EXPORT void osync_member_add_objtype_sink(OSyncMember *member, OSyncObjTypeSink *sink);

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/opensync/client/opensync_client_proxy.c

    r2562 r2564  
    321321                        if (!osync_demarshal_objtype_sink(message, &sink, &locerror)) 
    322322                                goto error; 
    323                         osync_trace(TRACE_INTERNAL, "Received sink: %s", osync_objtype_sink_get_name(sink)); 
    324          
     323 
    325324                        proxy->objtypes = g_list_append(proxy->objtypes, sink); 
    326                          
    327                         if (proxy->member) { 
    328                                 osync_member_add_objtype(proxy->member, osync_objtype_sink_get_name(sink)); 
    329                                 const OSyncList *f = osync_objtype_sink_get_objformats(sink); 
    330                                 for (; f; f = f->next) { 
    331                                         const char *format = f->data; 
    332                                         osync_member_add_objformat(proxy->member, osync_objtype_sink_get_name(sink), format); 
    333                                 } 
    334                         } 
     325 
     326                        if (proxy->member) 
     327                                osync_member_add_objtype_sink(proxy->member, sink); 
    335328                } 
    336329                 
  • trunk/opensync/engine/opensync_obj_engine.c

    r2563 r2564  
    365365                OSyncObjTypeSink *objtype_sink = osync_member_find_objtype_sink(member, objtype); 
    366366 
    367                 /* if there is no sink read function ignore is not support for this mapping. */ 
    368                 /* FIXME: osync_objtype_sink_get_read() will be read all the time .. fix this and store value in syncmember.conf (after discovery) */ 
    369                 if (!objtype_sink || !osync_objtype_sink_get_read(objtype_sink)) 
     367                /* if there is no sink read function, ignore is not support for this mapping. */ 
     368                if (!objtype_sink || !osync_objtype_sink_get_function_read(objtype_sink)) 
    370369                        ignore_supported = FALSE;  
    371370 
  • trunk/opensync/group/opensync_member.c

    r2542 r2564  
    167167                        osync_merger_unref(osync_member_get_merger(member)); 
    168168                 
    169                 while (member->objtypes) { 
    170                         OSyncObjTypeSink *sink = member->objtypes->data; 
    171                         osync_objtype_sink_unref(sink); 
    172                         member->objtypes = g_list_remove(member->objtypes, member->objtypes->data); 
    173                 } 
    174                  
     169                osync_member_flush_objtypes(member); 
     170 
    175171                g_free(member); 
    176172        } 
     
    440436                                if (!sink) 
    441437                                        goto error_free_doc; 
     438 
    442439                                member->objtypes = g_list_append(member->objtypes, sink); 
    443440                        } 
     
    645642} 
    646643 
    647 /** @brief Add an object type to the member list of supported object types of this member 
     644/** @brief Add an OSyncObjTypeSink object to the member list of supported object types of this member 
    648645 *  
    649646 * @param member The member pointer 
    650  * @param objtype The searched object type  
    651  *  
    652  */ 
    653 void osync_member_add_objtype(OSyncMember *member, const char *objtype) 
    654 
    655         OSyncObjTypeSink *sink = NULL; 
    656         osync_assert(member); 
    657         osync_assert(objtype); 
    658  
    659         if (!osync_member_find_objtype_sink(member, objtype)) { 
    660                 sink = osync_objtype_sink_new(objtype, NULL); 
    661                 member->objtypes = g_list_append(member->objtypes, sink); 
    662         } 
     647 * @param sink The OSyncObjTypeSink object to add  
     648 *  
     649 */ 
     650void osync_member_add_objtype_sink(OSyncMember *member, OSyncObjTypeSink *sink) 
     651
     652        osync_assert(member); 
     653        osync_assert(sink); 
     654 
     655        member->objtypes = g_list_append(member->objtypes, sink); 
     656        osync_objtype_sink_ref(sink); 
     657
     658 
     659/** @brief Remove an OSyncObjTypeSink object to the member list of supported object types of this member 
     660 *  
     661 * @param member The member pointer 
     662 * @param sink The OSyncObjTypeSink object to add  
     663 *  
     664 */ 
     665void osync_member_remove_objtype_sink(OSyncMember *member, OSyncObjTypeSink *sink) 
     666
     667        osync_assert(member); 
     668        osync_assert(sink); 
     669 
     670        member->objtypes = g_list_remove(member->objtypes, sink); 
     671        osync_objtype_sink_unref(sink); 
    663672} 
    664673 
     
    794803        osync_assert(member); 
    795804 
    796         while (member->objtypes) { 
    797                 OSyncObjTypeSink *sink = member->objtypes->data; 
    798                 osync_objtype_sink_unref(sink); 
    799                 member->objtypes = g_list_remove(member->objtypes, member->objtypes->data); 
    800         } 
    801  
     805        while (member->objtypes) { 
     806                OSyncObjTypeSink *sink = member->objtypes->data; 
     807                osync_objtype_sink_unref(sink); 
     808                member->objtypes = g_list_remove(member->objtypes, member->objtypes->data); 
     809        } 
    802810} 
    803811 
  • trunk/opensync/group/opensync_member.h

    r2524 r2564  
    4646OSYNC_EXPORT long long int osync_member_get_id(OSyncMember *member); 
    4747 
    48 OSYNC_EXPORT void osync_member_add_objtype(OSyncMember *member, const char *objtype); 
    4948OSYNC_EXPORT int osync_member_num_objtypes(OSyncMember *member); 
    5049OSYNC_EXPORT const char *osync_member_nth_objtype(OSyncMember *member, int nth); 
     50 
     51OSYNC_EXPORT void osync_member_add_objtype_sink(OSyncMember *member, OSyncObjTypeSink *sink); 
    5152OSYNC_EXPORT OSyncObjTypeSink *osync_member_find_objtype_sink(OSyncMember *member, const char *objtype); 
    5253 
  • trunk/opensync/ipc/opensync_serializer.c

    r2494 r2564  
    213213         *  
    214214         * name 
     215         * read function (bool) 
     216         * get_changes function (bool) 
     217         * write function (bool) 
    215218         * number of formats 
    216219         * format list (string) 
     
    220223        int num = osync_objtype_sink_num_objformats(sink); 
    221224        osync_message_write_string(message, osync_objtype_sink_get_name(sink)); 
     225 
     226        osync_message_write_int(message, osync_objtype_sink_get_function_read(sink)); 
     227        osync_message_write_int(message, osync_objtype_sink_get_function_getchanges(sink)); 
     228        osync_message_write_int(message, osync_objtype_sink_get_function_write(sink)); 
     229 
    222230        osync_message_write_int(message, num); 
    223          
    224231        for (i = 0; i < num; i++) { 
    225232                const char *format = osync_objtype_sink_nth_objformat(sink, i); 
     
    237244         *  
    238245         * name 
     246         * read function (bool) 
     247         * get_changes function (bool) 
     248         * write function (bool) 
    239249         * number of formats 
    240250         * format list (string) 
     
    248258        int num_formats = 0; 
    249259        int enabled = 0; 
     260        int read = 0, get_changes = 0, write = 0; 
    250261        char *format = NULL; 
    251262         
     
    254265        g_free(name); 
    255266         
     267        osync_message_read_int(message, &read); 
     268        osync_objtype_sink_set_function_read(*sink, read); 
     269 
     270        osync_message_read_int(message, &get_changes); 
     271        osync_objtype_sink_set_function_getchanges(*sink, get_changes); 
     272 
     273        osync_message_read_int(message, &write); 
     274        osync_objtype_sink_set_function_write(*sink, write); 
     275 
    256276        osync_message_read_int(message, &num_formats); 
    257277        int i = 0; 
  • trunk/opensync/plugin/opensync_sink.c

    r2528 r2564  
    5151         
    5252        sink->read = TRUE; 
     53        sink->getchanges = TRUE; 
    5354        sink->write = TRUE; 
     55 
    5456        sink->enabled = TRUE; 
    5557         
     
    218220        sink->userdata = userdata; 
    219221 
    220         if (!functions.read) 
    221                 osync_objtype_sink_set_read(sink, FALSE); 
    222  
    223         if (!functions.write) 
    224                 osync_objtype_sink_set_write(sink, FALSE); 
     222        if (functions.read) 
     223                 sink->func_read = TRUE; 
     224 
     225        if (functions.get_changes) 
     226                 sink->func_getchanges = TRUE; 
     227 
     228        if (functions.write) 
     229                 sink->func_write = TRUE; 
     230
     231 
     232/*! @brief Checks if sink has a read single entries function (read) 
     233 * 
     234 * @param sink Pointer to the sink 
     235 * @returns TRUE if the sink has a read single entries function (read), FALSE otherwise 
     236 */ 
     237osync_bool osync_objtype_sink_get_function_read(OSyncObjTypeSink *sink) 
     238
     239        osync_assert(sink); 
     240        return sink->func_read; 
     241
     242 
     243/*! @brief Sets the status of the read sink function 
     244 * 
     245 * @param sink Pointer to sink 
     246 * @param write TRUE if the sink has a read function, FALSE otherwise 
     247 */ 
     248void osync_objtype_sink_set_function_read(OSyncObjTypeSink *sink, osync_bool read) 
     249
     250        osync_assert(sink); 
     251        sink->func_read = read; 
     252
     253 
     254/*! @brief Checks if sink has a get latest changes function (get_changes) 
     255 * 
     256 * @param sink Pointer to the sink 
     257 * @returns TRUE if the sink has a get latest changes function (get_changes), FALSE otherwise 
     258 */ 
     259osync_bool osync_objtype_sink_get_function_getchanges(OSyncObjTypeSink *sink) 
     260
     261        osync_assert(sink); 
     262        return sink->func_getchanges; 
     263
     264 
     265/*! @brief Sets the status of the get_changes sink function 
     266 * 
     267 * @param sink Pointer to sink 
     268 * @param write TRUE if the sink has a get_changes function, FALSE otherwise 
     269 */ 
     270void osync_objtype_sink_set_function_getchanges(OSyncObjTypeSink *sink, osync_bool getchanges) 
     271
     272        osync_assert(sink); 
     273        sink->func_getchanges = getchanges; 
     274
     275 
     276/*! @brief Checks if sink has a write function (commit) 
     277 * 
     278 * @param sink Pointer to the sink 
     279 * @returns TRUE if the sink has a write function (commit), FALSE otherwise 
     280 */ 
     281osync_bool osync_objtype_sink_get_function_write(OSyncObjTypeSink *sink) 
     282
     283        osync_assert(sink); 
     284        return sink->func_write; 
     285
     286 
     287/*! @brief Sets the status of the write sink function 
     288 * 
     289 * @param sink Pointer to sink 
     290 * @param write TRUE if the sink has a write function, FALSE otherwise 
     291 */ 
     292void osync_objtype_sink_set_function_write(OSyncObjTypeSink *sink, osync_bool write) 
     293
     294        osync_assert(sink); 
     295        sink->func_write = write; 
    225296} 
    226297 
     
    526597} 
    527598 
    528 /*! @brief Checks if sink is able to write (commit) 
    529  * 
    530  * If the sink is not able to write, then no changes will be commited to 
     599/*! @brief Checks if sink is allowed to write (commit) 
     600 * 
     601 * If the sink is not allowed to write, then no changes will be commited to 
    531602 * the sink. 
    532603 * 
    533604 * @param sink Pointer to the sink 
    534  * @returns TRUE if the sink is able to write (commit), FALSE otherwise 
     605 * @returns TRUE if the sink is allowed to write (commit), FALSE otherwise 
    535606 */ 
    536607osync_bool osync_objtype_sink_get_write(OSyncObjTypeSink *sink) 
     
    542613/*! @brief Sets the write status of the sink (commit) 
    543614 * 
    544  * This function should only called  
    545615 * See osync_objtype_sink_get_write() 
    546616 * 
    547617 * @param sink Pointer to sink 
    548  * @param write TRUE if the sink is available, FALSE otherwise 
     618 * @param write TRUE if the sink is allowed to write changes (commit), FALSE otherwise 
    549619 * 
    550620 */ 
     
    555625} 
    556626 
    557 /*! @brief Checks if sink is able to read single entries 
     627/*! @brief Sets the get latest changes status of the sink (get_change) 
     628 * 
     629 * See osync_objtype_sink_get_getchanges() 
     630 * 
     631 * @param sink Pointer to sink 
     632 * @param write Set TRUE if the sink is allowed to get latest changes, FALSE otherwise 
     633 * 
     634 */ 
     635void osync_objtype_sink_set_getchanges(OSyncObjTypeSink *sink, osync_bool getchanges) 
     636
     637        osync_assert(sink); 
     638        sink->getchanges = getchanges; 
     639
     640 
     641/*! @brief Checks if sink is allowed to get latest changes  
     642 * 
     643 * @param sink Pointer to the sink 
     644 * @returns TRUE if the sink is allowed to get latest changed entries, FALSE otherwise 
     645 * 
     646 */ 
     647osync_bool osync_objtype_sink_get_getchanges(OSyncObjTypeSink *sink) 
     648
     649        osync_assert(sink); 
     650        return sink->getchanges; 
     651
     652 
     653/*! @brief Checks if sink is allowed to read single entries 
    558654 * 
    559655 * "Read" means to request a single entry and does not mean to get the 
     
    561657 * The read function explicitly means to read a single entry without triggering 
    562658 * a full sync. This is used for example to check if a conflict between entries 
    563  * could be ignored. Ignoring conflicts is only possible if the sink is able to 
     659 * could be ignored. Ignoring conflicts is only possible if the sink is allowed to 
    564660 * read this conflicting entries on the next sync without triggering a SlowSync. 
    565661 * 
    566662 * @param sink Pointer to the sink 
    567  * @returns TRUE if the sink is able to read single entries, FALSE otherwise 
     663 * @returns TRUE if the sink is allowed to read single entries, FALSE otherwise 
    568664 * 
    569665 */ 
     
    584680void osync_objtype_sink_set_read(OSyncObjTypeSink *sink, osync_bool read) 
    585681{ 
    586         osync_trace(TRACE_INTERNAL, "%s: %i", __func__, read); 
    587682        osync_assert(sink); 
    588683        sink->read = read; 
  • trunk/opensync/plugin/opensync_sink.h

    r1845 r2564  
    5959OSYNC_EXPORT void *osync_objtype_sink_get_userdata(OSyncObjTypeSink *sink); 
    6060 
     61OSYNC_EXPORT osync_bool osync_objtype_sink_get_function_read(OSyncObjTypeSink *sink); 
     62OSYNC_EXPORT void osync_objtype_sink_set_function_read(OSyncObjTypeSink *sink, osync_bool read); 
     63 
     64OSYNC_EXPORT osync_bool osync_objtype_sink_get_function_getchanges(OSyncObjTypeSink *sink); 
     65OSYNC_EXPORT void osync_objtype_sink_set_function_getchanges(OSyncObjTypeSink *sink, osync_bool getchanges); 
     66 
     67OSYNC_EXPORT osync_bool osync_objtype_sink_get_function_write(OSyncObjTypeSink *sink); 
     68OSYNC_EXPORT void osync_objtype_sink_set_function_write(OSyncObjTypeSink *sink, osync_bool write); 
     69 
    6170OSYNC_EXPORT void osync_objtype_sink_get_changes(OSyncObjTypeSink *sink, void *plugindata, OSyncPluginInfo *info, OSyncContext *ctx); 
    6271OSYNC_EXPORT void osync_objtype_sink_read_change(OSyncObjTypeSink *sink, void *plugindata, OSyncPluginInfo *info, OSyncChange *change, OSyncContext *ctx); 
     
    7786OSYNC_EXPORT void osync_objtype_sink_set_write(OSyncObjTypeSink *sink, osync_bool write); 
    7887 
     88OSYNC_EXPORT osync_bool osync_objtype_sink_get_getchanges(OSyncObjTypeSink *sink); 
     89OSYNC_EXPORT void osync_objtype_sink_set_getchanges(OSyncObjTypeSink *sink, osync_bool write); 
     90 
    7991OSYNC_EXPORT osync_bool osync_objtype_sink_get_read(OSyncObjTypeSink *sink); 
    8092OSYNC_EXPORT void osync_objtype_sink_set_read(OSyncObjTypeSink *sink, osync_bool read); 
  • trunk/opensync/plugin/opensync_sink_internals.h

    r2528 r2564  
    3232        char *objtype; 
    3333 
    34         /** The status if this sink is able to write (commit) */ 
     34        /** The status if this sink is allowed to write (commit) */ 
    3535        osync_bool write; 
     36        /** The status if this sink has a write function (commit) */ 
     37        osync_bool func_write; 
    3638 
    37         /** The status if this sink is able to read (single entries) */ 
     39        /** The status if this sink is allowed to read (single entries) */ 
    3840        osync_bool read; 
     41        /** The status if this sink has a read function (single entries) */ 
     42        osync_bool func_read; 
     43 
     44        /** The status if this sink is allowed to get_changes (latest changed entries) */ 
     45        osync_bool getchanges;  
     46        /** The status if this sink has a get_changes function (latest changed entries) */ 
     47        osync_bool func_getchanges;  
    3948 
    4049        /** The status of this sink */ 
  • trunk/tests/engine-tests/check_engine.c

    r2544 r2564  
    1212#include "../mock-plugin/mock_format.h" 
    1313 
     14static void _member_add_objtype(OSyncMember *member, const char *objtype) 
     15{ 
     16       OSyncObjTypeSink *sink = NULL; 
     17       osync_assert(member); 
     18       osync_assert(objtype); 
     19 
     20       if (!osync_member_find_objtype_sink(member, objtype)) { 
     21               sink = osync_objtype_sink_new(objtype, NULL); 
     22               osync_member_add_objtype_sink(member, sink); 
     23       } 
     24} 
     25 
    1426START_TEST (engine_new) 
    1527{ 
     
    5769        fail_unless(error == NULL, NULL); 
    5870        osync_group_add_member(group, member); 
    59         osync_member_add_objtype(member, "mockobjtype1"); 
     71        _member_add_objtype(member, "mockobjtype1"); 
    6072        osync_member_set_pluginname(member, "mock-sync"); 
    6173        path = g_strdup_printf("%s/configs/group/1", testbed); 
     
    6779        fail_unless(error == NULL, NULL); 
    6880        osync_group_add_member(group, member); 
    69         osync_member_add_objtype(member, "mockobjtype1"); 
     81        _member_add_objtype(member, "mockobjtype1"); 
    7082        osync_member_set_pluginname(member, "mock-sync"); 
    7183        path = g_strdup_printf("%s/configs/group/1", testbed); 
     
    211223        g_free(path); 
    212224 
    213         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     225        _member_add_objtype(debug->member1, "mockobjtype1"); 
    214226         
    215227        debug->member2 = osync_member_new(&error); 
     
    222234        g_free(path); 
    223235 
    224         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
     236        _member_add_objtype(debug->member2, "mockobjtype1"); 
    225237         
    226238        debug->plugin = osync_plugin_new(&error); 
     
    518530        osync_member_set_configdir(debug->member1, path); 
    519531        g_free(path); 
    520         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
    521         osync_member_add_objtype(debug->member1, "mockobjtype2"); 
    522         osync_member_add_objtype(debug->member1, "mockobjtype3"); 
     532        _member_add_objtype(debug->member1, "mockobjtype1"); 
     533        _member_add_objtype(debug->member1, "mockobjtype2"); 
     534        _member_add_objtype(debug->member1, "mockobjtype3"); 
    523535         
    524536        debug->member2 = osync_member_new(&error); 
     
    531543        g_free(path); 
    532544 
    533         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
    534         osync_member_add_objtype(debug->member2, "mockobjtype2"); 
    535         osync_member_add_objtype(debug->member2, "mockobjtype3"); 
     545        _member_add_objtype(debug->member2, "mockobjtype1"); 
     546        _member_add_objtype(debug->member2, "mockobjtype2"); 
     547        _member_add_objtype(debug->member2, "mockobjtype3"); 
    536548         
    537549        debug->plugin = osync_plugin_new(&error); 
     
    920932        osync_member_set_configdir(debug->member1, path); 
    921933        g_free(path); 
    922         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
    923         osync_member_add_objtype(debug->member1, "mockobjtype2"); 
    924         osync_member_add_objtype(debug->member1, "mockobjtype3"); 
     934        _member_add_objtype(debug->member1, "mockobjtype1"); 
     935        _member_add_objtype(debug->member1, "mockobjtype2"); 
     936        _member_add_objtype(debug->member1, "mockobjtype3"); 
    925937         
    926938        debug->member2 = osync_member_new(&error); 
     
    933945        g_free(path); 
    934946 
    935         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
    936         osync_member_add_objtype(debug->member2, "mockobjtype2"); 
    937         osync_member_add_objtype(debug->member2, "mockobjtype3"); 
     947        _member_add_objtype(debug->member2, "mockobjtype1"); 
     948        _member_add_objtype(debug->member2, "mockobjtype2"); 
     949        _member_add_objtype(debug->member2, "mockobjtype3"); 
    938950         
    939951        debug->plugin = osync_plugin_new(&error); 
     
    11421154        g_free(path); 
    11431155 
    1144         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
    1145         osync_member_add_objtype(debug->member1, "mockobjtype2"); 
    1146         osync_member_add_objtype(debug->member1, "mockobjtype3"); 
     1156        _member_add_objtype(debug->member1, "mockobjtype1"); 
     1157        _member_add_objtype(debug->member1, "mockobjtype2"); 
     1158        _member_add_objtype(debug->member1, "mockobjtype3"); 
    11471159         
    11481160        debug->member2 = osync_member_new(&error); 
     
    11551167        g_free(path); 
    11561168 
    1157         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
    1158         osync_member_add_objtype(debug->member2, "mockobjtype2"); 
    1159         osync_member_add_objtype(debug->member2, "mockobjtype3"); 
     1169        _member_add_objtype(debug->member2, "mockobjtype1"); 
     1170        _member_add_objtype(debug->member2, "mockobjtype2"); 
     1171        _member_add_objtype(debug->member2, "mockobjtype3"); 
    11601172         
    11611173        debug->plugin = osync_plugin_new(&error); 
     
    14101422        osync_member_set_configdir(debug->member1, path); 
    14111423        g_free(path); 
    1412         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     1424        _member_add_objtype(debug->member1, "mockobjtype1"); 
    14131425         
    14141426        debug->member2 = osync_member_new(&error); 
     
    14211433        g_free(path); 
    14221434 
    1423         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
    1424         osync_member_add_objtype(debug->member2, "mockobjtype2"); 
    1425         osync_member_add_objtype(debug->member2, "mockobjtype3"); 
     1435        _member_add_objtype(debug->member2, "mockobjtype1"); 
     1436        _member_add_objtype(debug->member2, "mockobjtype2"); 
     1437        _member_add_objtype(debug->member2, "mockobjtype3"); 
    14261438         
    14271439        debug->plugin = osync_plugin_new(&error); 
     
    16061618        osync_member_set_configdir(debug->member1, path); 
    16071619        g_free(path); 
    1608         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     1620        _member_add_objtype(debug->member1, "mockobjtype1"); 
    16091621         
    16101622        debug->member2 = osync_member_new(&error); 
     
    16171629        g_free(path); 
    16181630 
    1619         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
    1620         osync_member_add_objtype(debug->member2, "mockobjtype2"); 
    1621         osync_member_add_objtype(debug->member2, "mockobjtype3"); 
     1631        _member_add_objtype(debug->member2, "mockobjtype1"); 
     1632        _member_add_objtype(debug->member2, "mockobjtype2"); 
     1633        _member_add_objtype(debug->member2, "mockobjtype3"); 
    16221634         
    16231635        debug->plugin = osync_plugin_new(&error); 
     
    18061818        g_free(path); 
    18071819 
    1808         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     1820        _member_add_objtype(debug->member1, "mockobjtype1"); 
    18091821         
    18101822        debug->member2 = osync_member_new(&error); 
     
    18171829        g_free(path); 
    18181830 
    1819         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
    1820         osync_member_add_objtype(debug->member2, "mockobjtype2"); 
    1821         osync_member_add_objtype(debug->member2, "mockobjtype3"); 
     1831        _member_add_objtype(debug->member2, "mockobjtype1"); 
     1832        _member_add_objtype(debug->member2, "mockobjtype2"); 
     1833        _member_add_objtype(debug->member2, "mockobjtype3"); 
    18221834         
    18231835        debug->plugin = osync_plugin_new(&error); 
  • trunk/tests/engine-tests/check_engine_error.c

    r2544 r2564  
    126126} 
    127127 
     128static void _member_add_objtype(OSyncMember *member, const char *objtype) 
     129{ 
     130       OSyncObjTypeSink *sink = NULL; 
     131       osync_assert(member); 
     132       osync_assert(objtype); 
     133 
     134       if (!osync_member_find_objtype_sink(member, objtype)) { 
     135               sink = osync_objtype_sink_new(objtype, NULL); 
     136               osync_member_add_objtype_sink(member, sink); 
     137       } 
     138} 
     139 
    128140int num_engine_connected = 0; 
    129141int num_engine_read = 0; 
     
    403415        osync_member_set_configdir(debug->member1, path); 
    404416        g_free(path); 
    405         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     417        _member_add_objtype(debug->member1, "mockobjtype1"); 
    406418        osync_member_add_objformat(debug->member1, "mockobjtype1", "mockformat1"); 
    407419        osync_member_set_config(debug->member1, "<config><directory><path>data1</path><objtype>mockobjtype1</objtype></directory></config>"); 
     
    416428        g_free(path); 
    417429 
    418         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
     430        _member_add_objtype(debug->member2, "mockobjtype1"); 
    419431        osync_member_add_objformat(debug->member2, "mockobjtype1", "mockformat1"); 
    420432        osync_member_set_config(debug->member2, "<config><directory><path>data2</path><objtype>mockobjtype1</objtype></directory></config>"); 
     
    488500        g_free(path); 
    489501 
    490         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     502        _member_add_objtype(debug->member1, "mockobjtype1"); 
    491503        osync_member_add_objformat(debug->member1, "mockobjtype1", "mockformat1"); 
    492504        osync_member_set_config(debug->member1, "<config><directory><path>data1</path><objtype>mockobjtype1</objtype></directory></config>"); 
     
    501513        g_free(path); 
    502514 
    503         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
     515        _member_add_objtype(debug->member2, "mockobjtype1"); 
    504516        osync_member_add_objformat(debug->member2, "mockobjtype1", "mockformat1"); 
    505517        osync_member_set_config(debug->member2, "<config><directory><path>data2</path><objtype>mockobjtype1</objtype></directory></config>"); 
     
    573585        g_free(path); 
    574586 
    575         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     587        _member_add_objtype(debug->member1, "mockobjtype1"); 
    576588        osync_member_add_objformat(debug->member1, "mockobjtype1", "mockformat1"); 
    577589         
     
    585597        g_free(path); 
    586598 
    587         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
     599        _member_add_objtype(debug->member2, "mockobjtype1"); 
    588600        osync_member_add_objformat(debug->member2, "mockobjtype1", "mockformat1"); 
    589601         
     
    656668        g_free(path); 
    657669 
    658         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     670        _member_add_objtype(debug->member1, "mockobjtype1"); 
    659671        osync_member_add_objformat(debug->member1, "mockobjtype1", "mockformat1"); 
    660672        osync_member_set_config(debug->member1, "<config><directory><path>data1</path><objtype>mockobjtype1</objtype></directory></config>"); 
     
    739751        g_free(path); 
    740752 
    741         osync_member_add_objtype(debug->member1, "mockobjtype1"); 
     753        _member_add_objtype(debug->member1, "mockobjtype1"); 
    742754        osync_member_add_objformat(debug->member1, "mockobjtype1", "mockformat1"); 
    743755        osync_member_set_config(debug->member1, "<config><directory><path>data1</path><objtype>mockobjtype1</objtype></directory></config>"); 
     
    751763        osync_member_set_configdir(debug->member2, path); 
    752764        g_free(path); 
    753         osync_member_add_objtype(debug->member2, "mockobjtype1"); 
     765        _member_add_objtype(debug->member2, "mockobjtype1"); 
    754766        osync_member_add_objformat(debug->member2, "mockobjtype1", "mockformat1"); 
    755767        osync_member_set_config(debug->member2, "<config><directory><path>data2</path><objtype>mockobjtype1</objtype></directory></config>");