void ccnet_start_rpc(CcnetSession *session) { searpc_server_init (register_marshals); searpc_create_service ("ccnet-rpcserver"); ccnet_proc_factory_register_processor (session->proc_factory, "ccnet-rpcserver", CCNET_TYPE_RPCSERVER_PROC); #ifdef CCNET_SERVER searpc_create_service ("ccnet-threaded-rpcserver"); ccnet_proc_factory_register_processor (session->proc_factory, "ccnet-threaded-rpcserver", CCNET_TYPE_THREADED_RPCSERVER_PROC); #endif searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_list_peers, "list_peers", searpc_signature_string__void()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_list_resolving_peers, "list_resolving_peers", searpc_signature_objlist__void()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_get_peers_by_role, "get_peers_by_role", searpc_signature_objlist__string()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_get_peer, "get_peer", searpc_signature_object__string()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_get_peer_by_idname, "get_peer_by_idname", searpc_signature_object__string()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_update_peer_address, "update_peer_address", searpc_signature_int__string_string_int()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_get_session_info, "get_session_info", searpc_signature_object__void()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_add_client, "add_client", searpc_signature_int__string()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_add_role, "add_role", searpc_signature_int__string_string()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_remove_role, "remove_role", searpc_signature_int__string_string()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_get_config, "get_config", searpc_signature_string__string()); searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_set_config, "set_config", searpc_signature_int__string_string()); /* RSA encrypt a message with peer's public key. */ searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_pubkey_encrypt, "pubkey_encrypt", searpc_signature_string__string_string()); /* RSA decrypt a message with my private key. */ searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_privkey_decrypt, "privkey_decrypt", searpc_signature_string__string()); #ifdef CCNET_SERVER searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_list_peer_stat, "list_peer_stat", searpc_signature_objlist__void()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_add_emailuser, "add_emailuser", searpc_signature_int__string_string_int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_remove_emailuser, "remove_emailuser", searpc_signature_int__string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_validate_emailuser, "validate_emailuser", searpc_signature_int__string_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_emailuser, "get_emailuser", searpc_signature_object__string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_emailuser_by_id, "get_emailuser_by_id", searpc_signature_object__int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_emailusers, "get_emailusers", searpc_signature_objlist__string_int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_search_emailusers, "search_emailusers", searpc_signature_objlist__string_int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_count_emailusers, "count_emailusers", searpc_signature_int64__string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_update_emailuser, "update_emailuser", searpc_signature_int__int_string_int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_update_role_emailuser, "update_role_emailuser", searpc_signature_int__string_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_superusers, "get_superusers", searpc_signature_objlist__void()); /* RSA sign a message with my private key. */ searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_sign_message, "sign_message", searpc_signature_string__string()); /* Verify a message with a peer's public key */ searpc_server_register_function ("ccnet-rpcserver", ccnet_rpc_verify_message, "verify_message", searpc_signature_int__string_string_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_create_group, "create_group", searpc_signature_int__string_string_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_create_org_group, "create_org_group", searpc_signature_int__int_string_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_remove_group, "remove_group", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_group_add_member, "group_add_member", searpc_signature_int__int_string_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_group_remove_member, "group_remove_member", searpc_signature_int__int_string_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_group_set_admin, "group_set_admin", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_group_unset_admin, "group_unset_admin", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_set_group_name, "set_group_name", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_quit_group, "quit_group", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_groups, "get_groups", searpc_signature_objlist__string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_all_groups, "get_all_groups", searpc_signature_objlist__int_int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_group, "get_group", searpc_signature_object__int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_group_members, "get_group_members", searpc_signature_objlist__int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_check_group_staff, "check_group_staff", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_remove_group_user, "remove_group_user", searpc_signature_int__string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_is_group_user, "is_group_user", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_set_group_creator, "set_group_creator", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_create_org, "create_org", searpc_signature_int__string_string_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_remove_org, "remove_org", searpc_signature_int__int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_all_orgs, "get_all_orgs", searpc_signature_objlist__int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_count_orgs, "count_orgs", searpc_signature_int64__void()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_org_by_url_prefix, "get_org_by_url_prefix", searpc_signature_object__string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_org_by_id, "get_org_by_id", searpc_signature_object__int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_add_org_user, "add_org_user", searpc_signature_int__int_string_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_remove_org_user, "remove_org_user", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_orgs_by_user, "get_orgs_by_user", searpc_signature_objlist__string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_org_emailusers, "get_org_emailusers", searpc_signature_objlist__string_int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_add_org_group, "add_org_group", searpc_signature_int__int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_remove_org_group, "remove_org_group", searpc_signature_int__int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_is_org_group, "is_org_group", searpc_signature_int__int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_org_id_by_group, "get_org_id_by_group", searpc_signature_int__int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_get_org_groups, "get_org_groups", searpc_signature_objlist__int_int_int()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_org_user_exists, "org_user_exists", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_is_org_staff, "is_org_staff", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_set_org_staff, "set_org_staff", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_unset_org_staff, "unset_org_staff", searpc_signature_int__int_string()); searpc_server_register_function ("ccnet-threaded-rpcserver", ccnet_rpc_set_org_name, "set_org_name", searpc_signature_int__int_string()); #endif /* CCNET_SERVER */ }
static void start_rpc_service (CcnetClient *client) { searpc_server_init (register_marshals); searpc_create_service ("seafile-rpcserver"); ccnet_register_service (client, "seafile-rpcserver", "rpc-inner", CCNET_TYPE_RPCSERVER_PROC, NULL); /* searpc_create_service ("seafile-threaded-rpcserver"); */ /* ccnet_register_service (client, "seafile-threaded-rpcserver", "rpc-inner", */ /* CCNET_TYPE_THREADED_RPCSERVER_PROC, */ /* seafile_register_service_cb); */ /* seafile-rpcserver */ searpc_server_register_function ("seafile-rpcserver", seafile_get_session_info, "seafile_get_session_info", searpc_signature_object__void()); searpc_server_register_function ("seafile-rpcserver", seafile_get_config, "seafile_get_config", searpc_signature_string__string()); searpc_server_register_function ("seafile-rpcserver", seafile_set_config, "seafile_set_config", searpc_signature_int__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_config_int, "seafile_get_config_int", searpc_signature_int__string()); searpc_server_register_function ("seafile-rpcserver", seafile_set_config_int, "seafile_set_config_int", searpc_signature_int__string_int()); searpc_server_register_function ("seafile-rpcserver", seafile_set_upload_rate_limit, "seafile_set_upload_rate_limit", searpc_signature_int__int()); searpc_server_register_function ("seafile-rpcserver", seafile_set_download_rate_limit, "seafile_set_download_rate_limit", searpc_signature_int__int()); searpc_server_register_function ("seafile-rpcserver", seafile_unsync_repos_by_account, "seafile_unsync_repos_by_account", searpc_signature_int__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_remove_repo_tokens_by_account, "seafile_remove_repo_tokens_by_account", searpc_signature_int__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_set_repo_token, "seafile_set_repo_token", searpc_signature_int__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_upload_rate, "seafile_get_upload_rate", searpc_signature_int__void()); searpc_server_register_function ("seafile-rpcserver", seafile_get_download_rate, "seafile_get_download_rate", searpc_signature_int__void()); searpc_server_register_function ("seafile-rpcserver", seafile_destroy_repo, "seafile_destroy_repo", searpc_signature_int__string()); searpc_server_register_function ("seafile-rpcserver", seafile_set_repo_property, "seafile_set_repo_property", searpc_signature_int__string_string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_property, "seafile_get_repo_property", searpc_signature_string__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_relay_address, "seafile_get_repo_relay_address", searpc_signature_string__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_relay_port, "seafile_get_repo_relay_port", searpc_signature_string__string()); searpc_server_register_function ("seafile-rpcserver", seafile_update_repo_relay_info, "seafile_update_repo_relay_info", searpc_signature_int__string_string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_update_repos_server_host, "seafile_update_repos_server_host", searpc_signature_int__string_string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_disable_auto_sync, "seafile_disable_auto_sync", searpc_signature_int__void()); searpc_server_register_function ("seafile-rpcserver", seafile_enable_auto_sync, "seafile_enable_auto_sync", searpc_signature_int__void()); searpc_server_register_function ("seafile-rpcserver", seafile_is_auto_sync_enabled, "seafile_is_auto_sync_enabled", searpc_signature_int__void()); searpc_server_register_function ("seafile-rpcserver", seafile_branch_gets, "seafile_branch_gets", searpc_signature_objlist__string()); searpc_server_register_function ("seafile-rpcserver", seafile_gen_default_worktree, "gen_default_worktree", searpc_signature_string__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_check_path_for_clone, "seafile_check_path_for_clone", searpc_signature_int__string()); /* clone means sync with existing folder, download means sync to a new folder. */ searpc_server_register_function ("seafile-rpcserver", seafile_clone, "seafile_clone", searpc_signature_string__string_int_string_string_string_string_string_string_string_string_string_string_int_string()); searpc_server_register_function ("seafile-rpcserver", seafile_download, "seafile_download", searpc_signature_string__string_int_string_string_string_string_string_string_string_string_string_string_int_string()); searpc_server_register_function ("seafile-rpcserver", seafile_cancel_clone_task, "seafile_cancel_clone_task", searpc_signature_int__string()); searpc_server_register_function ("seafile-rpcserver", seafile_remove_clone_task, "seafile_remove_clone_task", searpc_signature_int__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_clone_tasks, "seafile_get_clone_tasks", searpc_signature_objlist__void()); searpc_server_register_function ("seafile-rpcserver", seafile_sync, "seafile_sync", searpc_signature_int__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_list, "seafile_get_repo_list", searpc_signature_objlist__int_int()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo, "seafile_get_repo", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_sync_task_list, "seafile_get_sync_task_list", searpc_signature_objlist__void()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_sync_task, "seafile_get_repo_sync_task", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_sync_info, "seafile_get_repo_sync_info", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_commit, "seafile_get_commit", searpc_signature_object__string_int_string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_commit_list, "seafile_get_commit_list", searpc_signature_objlist__string_int_int()); searpc_server_register_function ("seafile-rpcserver", seafile_find_transfer_task, "seafile_find_transfer_task", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_checkout_task, "seafile_get_checkout_task", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_path_sync_status, "seafile_get_path_sync_status", searpc_signature_string__string_string_int()); searpc_server_register_function ("seafile-rpcserver", seafile_mark_file_locked, "seafile_mark_file_locked", searpc_signature_int__string_string()); }
static void start_rpc_service (CcnetClient *client, int cloud_mode) { searpc_server_init (register_marshals); searpc_create_service ("seafserv-rpcserver"); ccnet_register_service (client, "seafserv-rpcserver", "rpc-inner", CCNET_TYPE_RPCSERVER_PROC, NULL); searpc_create_service ("seafserv-threaded-rpcserver"); ccnet_register_service (client, "seafserv-threaded-rpcserver", "rpc-inner", CCNET_TYPE_THREADED_RPCSERVER_PROC, NULL); /* threaded services */ /* repo manipulation */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_repo, "seafile_get_repo", searpc_signature_object__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_destroy_repo, "seafile_destroy_repo", searpc_signature_int__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_repo_list, "seafile_get_repo_list", searpc_signature_objlist__int_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_repo_owner, "seafile_get_repo_owner", searpc_signature_string__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_edit_repo, "seafile_edit_repo", searpc_signature_int__string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_is_repo_owner, "seafile_is_repo_owner", searpc_signature_int__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_owned_repos, "seafile_list_owned_repos", searpc_signature_objlist__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_server_repo_size, "seafile_server_repo_size", searpc_signature_int64__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_repo_set_access_property, "seafile_repo_set_access_property", searpc_signature_int__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_repo_query_access_property, "seafile_repo_query_access_property", searpc_signature_string__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_revert_on_server, "seafile_revert_on_server", searpc_signature_int__string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_diff, "seafile_diff", searpc_signature_objlist__string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_post_file, "seafile_post_file", searpc_signature_int__string_string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_post_multi_files, "seafile_post_multi_files", searpc_signature_int__string_string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_put_file, "seafile_put_file", searpc_signature_string__string_string_string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_post_empty_file, "seafile_post_empty_file", searpc_signature_int__string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_post_dir, "seafile_post_dir", searpc_signature_int__string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_del_file, "seafile_del_file", searpc_signature_int__string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_copy_file, "seafile_copy_file", searpc_signature_int__string_string_string_string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_move_file, "seafile_move_file", searpc_signature_int__string_string_string_string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_rename_file, "seafile_rename_file", searpc_signature_int__string_string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_is_valid_filename, "seafile_is_valid_filename", searpc_signature_int__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_create_repo, "seafile_create_repo", searpc_signature_string__string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_commit, "seafile_get_commit", searpc_signature_object__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_dir, "seafile_list_dir", searpc_signature_objlist__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_file_size, "seafile_get_file_size", searpc_signature_int64__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_dir_size, "seafile_get_dir_size", searpc_signature_int64__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_dir_by_path, "seafile_list_dir_by_path", searpc_signature_objlist__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_dirid_by_path, "seafile_get_dirid_by_path", searpc_signature_string__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_file_id_by_path, "seafile_get_file_id_by_path", searpc_signature_string__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_dir_id_by_path, "seafile_get_dir_id_by_path", searpc_signature_string__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_file_revisions, "seafile_list_file_revisions", searpc_signature_objlist__string_string_int_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_calc_files_last_modified, "seafile_calc_files_last_modified", searpc_signature_objlist__string_string_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_revert_file, "seafile_revert_file", searpc_signature_int__string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_revert_dir, "seafile_revert_dir", searpc_signature_int__string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_deleted, "get_deleted", searpc_signature_objlist__string_int()); /* share repo to user */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_add_share, "seafile_add_share", searpc_signature_int__string_string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_share_repos, "seafile_list_share_repos", searpc_signature_objlist__string_string_int_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_org_share_repos, "seafile_list_org_share_repos", searpc_signature_objlist__int_string_string_int_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_remove_share, "seafile_remove_share", searpc_signature_int__string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_share_permission, "set_share_permission", searpc_signature_int__string_string_string_string()); /* share repo to group */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_group_share_repo, "seafile_group_share_repo", searpc_signature_int__string_int_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_group_unshare_repo, "seafile_group_unshare_repo", searpc_signature_int__string_int_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_shared_groups_by_repo, "seafile_get_shared_groups_by_repo", searpc_signature_string__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_group_repoids, "seafile_get_group_repoids", searpc_signature_string__int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_group_repos_by_owner, "get_group_repos_by_owner", searpc_signature_objlist__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_group_repo_owner, "get_group_repo_owner", searpc_signature_string__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_remove_repo_group, "seafile_remove_repo_group", searpc_signature_int__int_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_group_repo_permission, "set_group_repo_permission", searpc_signature_int__int_string_string()); /* branch and commit */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_branch_gets, "seafile_branch_gets", searpc_signature_objlist__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_commit_list, "seafile_get_commit_list", searpc_signature_objlist__string_int_int()); /* token */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_repo_token, "seafile_set_repo_token", searpc_signature_int__string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_repo_token_nonnull, "seafile_get_repo_token_nonnull", searpc_signature_string__string_string()); /* quota */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_user_quota_usage, "seafile_get_user_quota_usage", searpc_signature_int64__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_user_share_usage, "seafile_get_user_share_usage", searpc_signature_int64__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_quota_usage, "seafile_get_org_quota_usage", searpc_signature_int64__int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_user_quota_usage, "seafile_get_org_user_quota_usage", searpc_signature_int64__int_string()); /* -------- rpc services -------- */ /* token for web access to repo */ searpc_server_register_function ("seafserv-rpcserver", seafile_web_get_access_token, "seafile_web_get_access_token", searpc_signature_string__string_string_string_string()); searpc_server_register_function ("seafserv-rpcserver", seafile_web_query_access_token, "seafile_web_query_access_token", searpc_signature_object__string()); /* chunk server manipulation */ searpc_server_register_function ("seafserv-rpcserver", seafile_add_chunk_server, "seafile_add_chunk_server", searpc_signature_int__string()); searpc_server_register_function ("seafserv-rpcserver", seafile_del_chunk_server, "seafile_del_chunk_server", searpc_signature_int__string()); searpc_server_register_function ("seafserv-rpcserver", seafile_list_chunk_servers, "seafile_list_chunk_servers", searpc_signature_string__void()); /* set monitor */ searpc_server_register_function ("seafserv-rpcserver", seafile_set_monitor, "seafile_set_monitor", searpc_signature_int__string()); searpc_server_register_function ("seafserv-rpcserver", seafile_get_monitor, "seafile_get_monitor", searpc_signature_string__void()); /* password management */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_passwd, "seafile_set_passwd", searpc_signature_int__string_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_unset_passwd, "seafile_unset_passwd", searpc_signature_int__string_string()); searpc_server_register_function ("seafserv-rpcserver", seafile_is_passwd_set, "seafile_is_passwd_set", searpc_signature_int__string_string()); searpc_server_register_function ("seafserv-rpcserver", seafile_get_decrypt_key, "seafile_get_decrypt_key", searpc_signature_object__string_string()); /* quota management */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_user_quota, "set_user_quota", searpc_signature_int__string_int64()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_user_quota, "get_user_quota", searpc_signature_int64__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_org_quota, "set_org_quota", searpc_signature_int__int_int64()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_quota, "get_org_quota", searpc_signature_int64__int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_org_user_quota, "set_org_user_quota", searpc_signature_int__int_string_int64()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_user_quota, "get_org_user_quota", searpc_signature_int64__int_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_check_quota, "check_quota", searpc_signature_int__string()); /* repo permission */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_check_permission, "check_permission", searpc_signature_string__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_file_id_by_commit_and_path, "seafile_get_file_id_by_commit_and_path", searpc_signature_string__string_string()); if (!cloud_mode) { searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_inner_pub_repo, "set_inner_pub_repo", searpc_signature_int__string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_unset_inner_pub_repo, "unset_inner_pub_repo", searpc_signature_int__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_is_inner_pub_repo, "is_inner_pub_repo", searpc_signature_int__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_inner_pub_repos, "list_inner_pub_repos", searpc_signature_objlist__void()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_count_inner_pub_repos, "count_inner_pub_repos", searpc_signature_int64__void()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_inner_pub_repos_by_owner, "list_inner_pub_repos_by_owner", searpc_signature_objlist__string()); } /* Org repo */ if (cloud_mode) { searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_create_org_repo, "seafile_create_org_repo", searpc_signature_string__string_string_string_string_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_id_by_repo_id, "seafile_get_org_id_by_repo_id", searpc_signature_int__string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_repo_list, "seafile_get_org_repo_list", searpc_signature_objlist__int_int_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_remove_org_repo_by_org_id, "seafile_remove_org_repo_by_org_id", searpc_signature_int__int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_org_repos_by_owner, "list_org_repos_by_owner", searpc_signature_objlist__int_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_repo_owner, "get_org_repo_owner", searpc_signature_string__string()); /* org group repo */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_add_org_group_repo, "add_org_group_repo", searpc_signature_int__string_int_int_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_del_org_group_repo, "del_org_group_repo", searpc_signature_int__string_int_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_group_repoids, "get_org_group_repoids", searpc_signature_string__int_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_group_repo_owner, "get_org_group_repo_owner", searpc_signature_string__int_int_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_group_repos_by_owner, "get_org_group_repos_by_owner", searpc_signature_objlist__int_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_org_groups_by_repo, "get_org_groups_by_repo", searpc_signature_string__int_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_org_group_repo_permission, "set_org_group_repo_permission", searpc_signature_int__int_int_string_string()); /* org inner pub repo */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_org_inner_pub_repo, "set_org_inner_pub_repo", searpc_signature_int__int_string_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_unset_org_inner_pub_repo, "unset_org_inner_pub_repo", searpc_signature_int__int_string()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_org_inner_pub_repos, "list_org_inner_pub_repos", searpc_signature_objlist__int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_list_org_inner_pub_repos_by_owner, "list_org_inner_pub_repos_by_owner", searpc_signature_objlist__int_string()); } /* History */ searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_set_repo_history_limit, "set_repo_history_limit", searpc_signature_int__string_int()); searpc_server_register_function ("seafserv-threaded-rpcserver", seafile_get_repo_history_limit, "get_repo_history_limit", searpc_signature_int__string()); }
static void start_rpc_service (CcnetClient *client) { searpc_server_init (register_marshals); searpc_create_service ("seafile-rpcserver"); ccnet_register_service (client, "seafile-rpcserver", "rpc-inner", CCNET_TYPE_RPCSERVER_PROC, seafile_register_service_cb); /* searpc_create_service ("seafile-threaded-rpcserver"); */ /* ccnet_register_service (client, "seafile-threaded-rpcserver", "rpc-inner", */ /* CCNET_TYPE_THREADED_RPCSERVER_PROC, */ /* seafile_register_service_cb); */ /* seafile-rpcserver */ searpc_server_register_function ("seafile-rpcserver", seafile_get_session_info, "seafile_get_session_info", searpc_signature_object__void()); searpc_server_register_function ("seafile-rpcserver", seafile_get_config, "seafile_get_config", searpc_signature_string__string()); searpc_server_register_function ("seafile-rpcserver", seafile_set_config, "seafile_set_config", searpc_signature_int__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_destroy_repo, "seafile_destroy_repo", searpc_signature_int__string()); searpc_server_register_function ("seafile-rpcserver", seafile_set_repo_property, "seafile_set_repo_property", searpc_signature_int__string_string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_property, "seafile_get_repo_property", searpc_signature_string__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_disable_auto_sync, "seafile_disable_auto_sync", searpc_signature_int__void()); searpc_server_register_function ("seafile-rpcserver", seafile_enable_auto_sync, "seafile_enable_auto_sync", searpc_signature_int__void()); searpc_server_register_function ("seafile-rpcserver", seafile_is_auto_sync_enabled, "seafile_is_auto_sync_enabled", searpc_signature_int__void()); searpc_server_register_function ("seafile-rpcserver", seafile_branch_gets, "seafile_branch_gets", searpc_signature_objlist__string()); searpc_server_register_function ("seafile-rpcserver", seafile_diff, "seafile_diff", searpc_signature_objlist__string_string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_gen_default_worktree, "gen_default_worktree", searpc_signature_string__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_clone, "seafile_clone", searpc_signature_string__string_string_string_string_string_string_string_string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_download, "seafile_download", searpc_signature_string__string_string_string_string_string_string_string_string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_cancel_clone_task, "seafile_cancel_clone_task", searpc_signature_int__string()); searpc_server_register_function ("seafile-rpcserver", seafile_remove_clone_task, "seafile_remove_clone_task", searpc_signature_int__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_clone_tasks, "seafile_get_clone_tasks", searpc_signature_objlist__void()); searpc_server_register_function ("seafile-rpcserver", seafile_sync, "seafile_sync", searpc_signature_int__string_string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_list, "seafile_get_repo_list", searpc_signature_objlist__int_int()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo, "seafile_get_repo", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_sync_task_list, "seafile_get_sync_task_list", searpc_signature_objlist__void()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_sync_task, "seafile_get_repo_sync_task", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_repo_sync_info, "seafile_get_repo_sync_info", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_commit, "seafile_get_commit", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_commit_list, "seafile_get_commit_list", searpc_signature_objlist__string_int_int()); searpc_server_register_function ("seafile-rpcserver", seafile_find_transfer_task, "seafile_find_transfer_task", searpc_signature_object__string()); searpc_server_register_function ("seafile-rpcserver", seafile_get_checkout_task, "seafile_get_checkout_task", searpc_signature_object__string()); }