struct gridd_client_s * gridd_client_create(const gchar *target, GByteArray *req, gpointer ctx, client_on_reply cb) { EXTRA_ASSERT(req != NULL); struct gridd_client_s *client = gridd_client_create_idle(target); if (!client) return NULL; GError *err = gridd_client_request(client, req, ctx, cb); if (NULL == err) return client; GRID_WARN("gridd client creation error : (%d) %s", err->code, err->message); g_clear_error(&err); gridd_client_free(client); return NULL; }
static gint do_query(struct gridd_client_s *client, struct meta1_service_url_s *surl, const gchar *Q) { gint rc = 0; GError *err; GByteArray *req; struct sqlx_name_mutable_s name; GRID_DEBUG("Querying [%s]", Q); sqlx_name_fill (&name, url, NAME_SRVTYPE_SQLX, surl->seq); req = sqlx_pack_QUERY_single(sqlx_name_mutable_to_const(&name), Q, FALSE); err = gridd_client_request(client, req, NULL, _on_reply); g_byte_array_unref(req); if (NULL != err) { g_printerr("Local error: (%d) %s\n", err->code, err->message); g_clear_error(&err); } else if (NULL != (err = gridd_client_loop(client))) { g_printerr("Local error: (%d) %s\n", err->code, err->message); g_clear_error(&err); } else { if (NULL != (err = gridd_client_error(client))) { g_printerr("SQLX error: (%d) %s\n", err->code, err->message); g_clear_error(&err); } else { GRID_DEBUG("SQLX query succeeded"); rc = 1; } } sqlx_name_clean (&name); return rc; }
static void test_bad_addresses(void) { void test(const gchar *url) { GByteArray *req; struct gridd_client_s *client; GError *err; req = _generate_request(); client = gridd_client_create_empty(); g_assert(client != NULL); err = gridd_client_request(client, req, NULL, NULL); g_assert(err == NULL); err = gridd_client_connect_url(client, url); g_assert(err != NULL); g_clear_error (&err); g_byte_array_unref(req); gridd_client_free(client); }