00001 /* 00002 * libopensync - A synchronization framework 00003 * Copyright (C) 2004-2006 Armin Bauer <armin.bauer@desscon.com> 00004 * Copyright (C) 2008 Daniel Gollub <dgollub@suse.de> 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 * 00020 */ 00021 00022 00023 #ifndef _OPENSYNC_GROUP_INTERNALS_H_ 00024 #define _OPENSYNC_GROUP_INTERNALS_H_ 00025 00026 #include "opensync/format/opensync_filter_internals.h" 00027 00037 00039 struct OSyncGroup { 00041 char *name; 00043 GList *members; 00045 char *configdir; 00047 time_t last_sync; 00049 int lock_fd; 00051 GList *filters; 00053 OSyncConflictResolution conflict_resolution; 00055 int conflict_winner; 00057 osync_bool merger_enabled; 00059 osync_bool converter_enabled; 00060 00061 #ifdef OPENSYNC_UNITTESTS 00062 char *schemadir; 00063 #endif /* OPENSYNC_UNITTESTS*/ 00064 int ref_count; 00065 }; 00066 00074 OSYNC_TEST_EXPORT void osync_group_set_last_synchronization(OSyncGroup *group, time_t last_sync); 00075 00082 OSYNC_TEST_EXPORT void osync_group_add_filter(OSyncGroup *group, OSyncFilter *filter); 00083 00090 OSYNC_TEST_EXPORT void osync_group_remove_filter(OSyncGroup *group, OSyncFilter *filter); 00091 00098 OSYNC_TEST_EXPORT int osync_group_num_filters(OSyncGroup *group); 00099 00110 OSYNC_TEST_EXPORT OSyncFilter *osync_group_nth_filter(OSyncGroup *group, int nth); 00111 00131 OSYNC_TEST_EXPORT OSyncList *osync_group_get_supported_objtypes_mixed(OSyncGroup *group, OSyncFormatEnv *formatenv); 00132 00140 OSYNC_TEST_EXPORT OSyncList *osync_group_get_objformats(OSyncGroup *group); 00141 00142 #ifdef OPENSYNC_UNITTESTS 00143 00151 OSYNC_TEST_EXPORT void osync_group_set_schemadir(OSyncGroup *group, const char *schemadir); 00152 #endif /* OPENSYNC_UNITTESTS*/ 00153 00156 #endif /* _OPENSYNC_GROUP_INTERNALS_H_ */ 00157
1.5.7.1