int seafile_is_auto_sync_enabled_async (SearpcClient *client, AsyncCallback callback, void *user_data) { return searpc_client_async_call__int (client, "seafile_is_auto_sync_enabled", callback, user_data, 0); }
int seafile_set_config_async (SearpcClient *client, const char *key, const char *value, AsyncCallback callback, void *user_data) { if (!key || !value) return -1; return searpc_client_async_call__int ( client, "seafile_set_config", callback, user_data, 2, "string", key, "string", value); }
int main(int argc, char *argv[]) { int sockfd, ret; char *ret_str; struct sockaddr_in servaddr; SearpcClient *rpc_client; GError *error = NULL; TcpTransport *transport; #if !GLIB_CHECK_VERSION(2, 36, 0) g_type_init(); #endif #ifdef WIN32 WSADATA wsadata; WSAStartup(0x0101, &wsadata); #endif ret = sockfd = socket(AF_INET, SOCK_STREAM, 0); if (ret < 0) { fprintf(stderr, "socket failed: %s\n", strerror(errno)); exit(-1); } int on = 1; if (setsockopt (sockfd, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on)) < 0) { fprintf (stderr, "setsockopt of SO_REUSEADDR error: %s\n", strerror(errno)); exit(-1); } memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(12345); inet_pton(AF_INET, "127.0.0.1", &servaddr.sin_addr); ret = connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)); if (ret < 0) { fprintf(stderr, "connect failed: %s\n", strerror(errno)); exit(-1); } transport = g_new0 (TcpTransport, 1); transport->fd = sockfd; /* create an rpc_client and supply the transport function. */ rpc_client = searpc_client_new(); rpc_client->async_send = transport_send; rpc_client->async_arg = (void *)(long)transport; /* call the client-side funcion */ searpc_client_async_call__int(rpc_client, "searpc_strlen", strlen_callback, "user data", 1, "string", "hello searpc"); /* call the transport to receive response */ transport_read (transport); if (error != NULL) { fprintf(stderr, "error: %s\n", error->message); exit(-1); } close(sockfd); return 0; }