Changeset 3520
- Timestamp:
- 08/11/08 10:22:42 (4 months ago)
- Files:
-
- 1 modified
-
trunk/tools/osyncplugin.c (modified) (33 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/osyncplugin.c
r3507 r3520 40 40 char *configfile = NULL; 41 41 char *configdir = NULL; 42 osync_bool pluginlist= FALSE; 42 43 GList *sinks = NULL; 43 44 GList *cmdlist = NULL; … … 88 89 * Argument handling 89 90 */ 90 Command *new_command(Cmd cmd, const char *arg) {91 static Command *new_command(Cmd cmd, const char *arg) { 91 92 92 93 Command *newcommand = malloc(sizeof(Command)); … … 110 111 } 111 112 112 void free_command(Command **cmd) {113 static void free_command(Command **cmd) { 113 114 assert(*cmd); 114 115 … … 120 121 } 121 122 122 void usage(const char *name) 123 { 123 static void usage(const char *name) 124 { 125 /* TODO: improve usage output */ 124 126 fprintf(stderr, "Usage: %s\n", name); 125 /* TODO: write usage output */ 127 128 fprintf (stderr, "Configuration options:\n"); 129 fprintf (stderr, "[--config] \tSet config file\n"); 130 fprintf (stderr, "[--configdir] \tSet different config directory. Default: ~./opensync\n"); 131 132 fprintf (stderr, "Plugin options:\n"); 133 fprintf (stderr, "[--plugin] \tSet plugin\n"); 134 fprintf (stderr, "[--pluginpath] \t\n"); 135 fprintf (stderr, "[--pluginlist] \tShow list of plugins\n"); 136 137 fprintf (stderr, "Format options:\n"); 138 fprintf (stderr, "[--formatpath] \t\n"); 139 140 fprintf (stderr, "Command options:\n"); 141 fprintf (stderr, "[--initialize] \t\n"); 142 fprintf (stderr, "[--connect] \t\n"); 143 fprintf (stderr, "[--disconnect] \t\n"); 144 fprintf (stderr, "[--finalize] \t\n"); 145 fprintf (stderr, "[--slowsync] \t\n"); 146 fprintf (stderr, "[--sync] \t\n"); 147 fprintf (stderr, "[--fastsync] \t\n"); 148 fprintf (stderr, "[--syncdone] \t\n"); 149 fprintf (stderr, "[--committedall] \t\n"); 150 fprintf (stderr, "[--commit] \t\n"); 151 fprintf (stderr, "[--batchcommit] \t\n"); 152 fprintf (stderr, "[--write] \t\n"); 153 fprintf (stderr, "[--read] \t\n"); 154 fprintf (stderr, "[--empty] \t\n"); 126 155 127 156 exit(1); 128 157 } 129 158 130 void parse_args(int argc, char **argv) {159 static void parse_args(int argc, char **argv) { 131 160 132 161 int i; … … 158 187 if (!pluginpath) 159 188 pluginpath = strdup(argv[i+1]); 189 190 i++; 191 continue; 192 } else if (!strcmp(arg, "--pluginlist") || !strcmp(arg, "-L")) { 193 pluginlist= TRUE; 160 194 161 195 i++; … … 269 303 } 270 304 } 271 305 306 if (pluginlist) 307 return; 272 308 273 309 if (!cmdlist) … … 288 324 */ 289 325 290 osync_bool init(OSyncError **error) {326 static osync_bool init(OSyncError **error) { 291 327 assert(!plugin); 292 328 assert(!plugin_env); … … 388 424 } 389 425 390 void *plugin_initialize(OSyncError **error)426 static void *plugin_initialize(OSyncError **error) 391 427 { 392 428 void *plugin_data = osync_plugin_initialize(plugin, plugin_info, error); … … 398 434 } 399 435 400 void finalize_plugin(void **plugin_data)436 static void finalize_plugin(void **plugin_data) 401 437 { 402 438 … … 409 445 410 446 411 OSyncObjTypeSink *find_sink(const char *objtype, OSyncError **error)447 static OSyncObjTypeSink *find_sink(const char *objtype, OSyncError **error) 412 448 { 413 449 assert(objtype); … … 422 458 } 423 459 424 OSyncObjTypeSink *get_main_sink()460 static OSyncObjTypeSink *get_main_sink() 425 461 { 426 462 return osync_plugin_info_get_main_sink(plugin_info); 427 463 } 428 464 429 const char *_osyncplugin_changetype_str(OSyncChange *change)465 static const char *_osyncplugin_changetype_str(OSyncChange *change) 430 466 { 431 467 assert(change); … … 456 492 457 493 //typedef void (* OSyncContextChangeFn) (OSyncChange *, void *); 458 void _osyncplugin_ctx_change_callback(OSyncChange *change, void *user_data)494 static void _osyncplugin_ctx_change_callback(OSyncChange *change, void *user_data) 459 495 { 460 496 Command *cmd = (Command *) user_data; … … 476 512 477 513 //typedef void (* OSyncContextCallbackFn)(void *, OSyncError *); 478 void _osyncplugin_ctx_callback_getchanges(void *user_data, OSyncError *error)514 static void _osyncplugin_ctx_callback_getchanges(void *user_data, OSyncError *error) 479 515 { 480 516 Command *cmd = (Command *) user_data; … … 491 527 } 492 528 493 osync_bool get_changes_sink(Command *cmd, OSyncObjTypeSink *sink, SyncType type, void *plugin_data, OSyncError **error)529 static osync_bool get_changes_sink(Command *cmd, OSyncObjTypeSink *sink, SyncType type, void *plugin_data, OSyncError **error) 494 530 { 495 531 assert(sink); … … 526 562 } 527 563 528 osync_bool get_changes(Command *cmd, SyncType type, void *plugin_data, OSyncError **error)564 static osync_bool get_changes(Command *cmd, SyncType type, void *plugin_data, OSyncError **error) 529 565 { 530 566 int num, i; … … 565 601 } 566 602 567 void _osyncplugin_ctx_callback_connect(void *user_data, OSyncError *error)603 static void _osyncplugin_ctx_callback_connect(void *user_data, OSyncError *error) 568 604 { 569 605 assert(user_data); … … 597 633 } 598 634 599 osync_bool connect_sink(Command *cmd, OSyncObjTypeSink *sink, void *plugin_data, OSyncError **error) {635 static osync_bool connect_sink(Command *cmd, OSyncObjTypeSink *sink, void *plugin_data, OSyncError **error) { 600 636 601 637 assert(sink); … … 654 690 } 655 691 656 void _osyncplugin_ctx_callback_disconnect(void *user_data, OSyncError *error)692 static void _osyncplugin_ctx_callback_disconnect(void *user_data, OSyncError *error) 657 693 { 658 694 assert(user_data); … … 686 722 } 687 723 688 osync_bool disconnect_sink(Command *cmd, OSyncObjTypeSink *sink, void *plugin_data, OSyncError **error) {724 static osync_bool disconnect_sink(Command *cmd, OSyncObjTypeSink *sink, void *plugin_data, OSyncError **error) { 689 725 690 726 assert(sink); … … 709 745 } 710 746 711 osync_bool disconnect(Command *cmd, void *plugin_data, OSyncError **error)747 static osync_bool disconnect(Command *cmd, void *plugin_data, OSyncError **error) 712 748 { 713 749 … … 768 804 } 769 805 770 osync_bool commit_sink(OSyncObjTypeSink *sink, OSyncChange *change, void *plugin_data, OSyncError **error) {806 static osync_bool commit_sink(OSyncObjTypeSink *sink, OSyncChange *change, void *plugin_data, OSyncError **error) { 771 807 772 808 assert(sink); … … 796 832 } 797 833 798 osync_bool commit(Command *cmd, OSyncChange *change, void *plugin_data, OSyncError **error)834 static osync_bool commit(Command *cmd, OSyncChange *change, void *plugin_data, OSyncError **error) 799 835 { 800 836 assert(change); … … 831 867 } 832 868 833 osync_bool empty(Command *cmd, void *plugin_data, OSyncError **error)869 static osync_bool empty(Command *cmd, void *plugin_data, OSyncError **error) 834 870 { 835 871 int i; … … 857 893 } 858 894 859 void _osyncplugin_ctx_callback_syncdone(void *user_data, OSyncError *error)895 static void _osyncplugin_ctx_callback_syncdone(void *user_data, OSyncError *error) 860 896 { 861 897 assert(user_data); … … 881 917 } 882 918 883 osync_bool syncdone_sink(OSyncObjTypeSink *sink, void *plugin_data, OSyncError **error) {919 static osync_bool syncdone_sink(OSyncObjTypeSink *sink, void *plugin_data, OSyncError **error) { 884 920 885 921 assert(sink); … … 903 939 } 904 940 905 osync_bool syncdone(Command *cmd, void *plugin_data, OSyncError **error)941 static osync_bool syncdone(Command *cmd, void *plugin_data, OSyncError **error) 906 942 { 907 943 … … 937 973 } 938 974 939 void _osyncplugin_ctx_callback_committedall(void *user_data, OSyncError *error)975 static void _osyncplugin_ctx_callback_committedall(void *user_data, OSyncError *error) 940 976 { 941 977 assert(user_data); … … 960 996 } 961 997 962 osync_bool committedall_sink(OSyncObjTypeSink *sink, void *plugin_data, OSyncError **error) {998 static osync_bool committedall_sink(OSyncObjTypeSink *sink, void *plugin_data, OSyncError **error) { 963 999 964 1000 assert(sink); … … 982 1018 } 983 1019 984 osync_bool committedall(Command *cmd, void *plugin_data, OSyncError **error)1020 static osync_bool committedall(Command *cmd, void *plugin_data, OSyncError **error) 985 1021 { 986 1022 int i, num; … … 1018 1054 * Sync Flow 1019 1055 */ 1020 osync_bool run_command(Command *cmd, void **plugin_data, OSyncError **error) {1056 static osync_bool run_command(Command *cmd, void **plugin_data, OSyncError **error) { 1021 1057 1022 1058 assert(cmd); … … 1116 1152 } 1117 1153 1154 static osync_bool plugin_list(OSyncError **error) { 1155 int num; 1156 int i; 1157 1158 assert(!plugin_env); 1159 1160 if (!(plugin_env = osync_plugin_env_new(error))) 1161 goto error; 1162 1163 if (!(format_env = osync_format_env_new(error))) 1164 goto error_free_pluginenv; 1165 1166 if (!osync_format_env_load_plugins(format_env, formatpath, error)) 1167 goto error_free_formatenv; 1168 1169 if (!osync_plugin_env_load(plugin_env, pluginpath, error)) 1170 goto error_free_formatenv; 1171 1172 num= osync_plugin_env_num_plugins(plugin_env); 1173 for(i= 0; i < num; i++) { 1174 OSyncPlugin* plugin= osync_plugin_env_nth_plugin(plugin_env, i); 1175 fprintf (stdout, "Name: %s\n", osync_plugin_get_name(plugin)); 1176 fprintf (stdout, "Description: %s\n", osync_plugin_get_description(plugin)); 1177 } 1178 return TRUE; 1179 1180 error_free_formatenv: 1181 osync_format_env_free(format_env); 1182 format_env = NULL; 1183 error_free_pluginenv: 1184 osync_plugin_env_free(plugin_env); 1185 plugin_env = NULL; 1186 error: 1187 return FALSE; 1188 } 1189 1118 1190 int main(int argc, char **argv) { 1119 1191 … … 1126 1198 1127 1199 parse_args(argc, argv); 1200 1201 if (pluginlist) { 1202 if (!plugin_list(&error)) 1203 goto error; 1204 1205 goto success; 1206 } 1128 1207 1129 1208 if (!init(&error)) … … 1136 1215 1137 1216 /* TODO: free command list - for easier memory leak checking */ 1138 1217 success: 1139 1218 if (plugin_env) 1140 1219 osync_plugin_env_free(plugin_env);
