From: <svn...@op...> - 2009-07-09 11:57:30
|
Author: bellmich Date: Thu Jul 9 13:57:21 2009 New Revision: 1164 URL: http://libsyncml.opensync.org/changeset/1164 Log: migrated transports/http_client from SmlError to GError Modified: trunk/libsyncml/transports/http_client.c trunk/libsyncml/transports/http_client_internals.h Modified: trunk/libsyncml/transports/http_client.c ============================================================================== --- trunk/libsyncml/transports/http_client.c Thu Jul 9 13:57:04 2009 (r1163) +++ trunk/libsyncml/transports/http_client.c Thu Jul 9 13:57:21 2009 (r1164) @@ -27,9 +27,9 @@ #include "http_client_internals.h" -static void smlTransportHttpClientSend(void *userdata, void *link, SmlTransportData *data, SmlError *error); -static void smlTransportHttpClientDisconnect(void *data, void *linkdata); -static SmlBool smlTransportHttpClientFinalize(void *data, SmlError **error); +static void smlTransportHttpClientSend (void *userdata, void *link, SmlTransportData *data, GError *error); +static void smlTransportHttpClientDisconnect (void *data, void *linkdata); +static gboolean smlTransportHttpClientFinalize (void *data, GError **error); #ifdef HAVE_LIBSOUP22 #define soup_message_headers_get soup_message_get_header @@ -47,7 +47,7 @@ smlTrace(TRACE_ENTRY, "%s(%p, %p, %p)", __func__, session, msg, userdata); #endif SmlTransportHttpClientEnv *env = userdata; - SmlError *error = NULL; + GError *error = NULL; /* handle potential session shutdown */ if (env->connectDone && msg->status_code == SOUP_STATUS_CANCELLED) @@ -68,8 +68,8 @@ */ if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) { - smlErrorSet(&error, - SML_ERROR_GENERIC, + g_set_error(&error, + SML_ERROR, SML_ERROR_GENERIC, "Connection failed (%d) - %s", msg->status_code, msg->reason_phrase); goto error; } @@ -100,7 +100,7 @@ /* check the library status for errors */ if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) { - smlErrorSet(&error, SML_ERROR_GENERIC, "Call not successfull: %d %s", + g_set_error(&error, SML_ERROR, SML_ERROR_GENERIC, "Call not successfull: %d %s", msg->status_code, msg->reason_phrase); goto error; } @@ -118,10 +118,10 @@ else if(header && !g_strncasecmp(header, SML_ELEMENT_SAN, strlen(SML_ELEMENT_SAN))) mimetype = SML_MIMETYPE_SAN; else if (header) { - smlErrorSet(&error, SML_ERROR_GENERIC, "Unknown mimetype"); + g_set_error(&error, SML_ERROR, SML_ERROR_GENERIC, "Unknown mimetype"); goto error; } else { - smlErrorSet(&error, SML_ERROR_GENERIC, "Faulty mimetype"); + g_set_error(&error, SML_ERROR, SML_ERROR_GENERIC, "Faulty mimetype"); goto error; } @@ -173,8 +173,8 @@ smlSafeCFree(&data); error: smlTransportReceiveEvent(env->tsp, NULL, SML_TRANSPORT_EVENT_ERROR, NULL, error); - smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(&error)); - smlErrorDeref(&error); + smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, error->message); + g_error_free(error); } /* This is the authentication callback for libsoup. @@ -210,11 +210,11 @@ } #endif -static SmlBool smlTransportHttpClientSetConfigOption( - SmlTransport *tsp, - const char *name, - const char *value, - SmlError **error) +static gboolean +smlTransportHttpClientSetConfigOption (SmlTransport *tsp, + const gchar *name, + const gchar *value, + GError **error) { smlTrace(TRACE_ENTRY, "%s(%p, %s, %s, %p)", __func__, tsp, VA_STRING(name), VA_STRING(value), error); CHECK_ERROR_REF @@ -230,9 +230,9 @@ env->url = g_strdup(value); env->uri = soup_uri_new(env->url); if (env->uri == NULL) { - smlErrorSet(error, SML_ERROR_INTERNAL_MISCONFIGURATION, + g_set_error(error, SML_ERROR, SML_ERROR_INTERNAL_MISCONFIGURATION, "The configured url %s is wrong.", env->url); - smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, smlErrorPrint(error)); + smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, (*error)->message); return FALSE; } smlTrace(TRACE_INTERNAL, "%s: URL %s detected", __func__, VA_STRING(env->url)); @@ -249,8 +249,8 @@ env->cafile = g_strdup(value); smlTrace(TRACE_INTERNAL, "%s: SSL_CA_FILE %s detected", __func__, VA_STRING(env->cafile)); } else { - smlErrorSet(error, SML_ERROR_INTERNAL_MISCONFIGURATION, "Unknown parameter %s found.", name); - smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, smlErrorPrint(error)); + g_set_error(error, SML_ERROR, SML_ERROR_INTERNAL_MISCONFIGURATION, "Unknown parameter %s found.", name); + smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, (*error)->message); return FALSE; } @@ -266,11 +266,11 @@ smlTrace(TRACE_ENTRY, "%s(%p)", __func__, data); smlAssert(data); SmlTransportHttpClientEnv *env = data; - SmlError *error = NULL; + GError *error = NULL; if (!env->tsp->context) { - smlErrorSet(&error, SML_ERROR_INTERNAL_MISCONFIGURATION, + g_set_error(&error, SML_ERROR, SML_ERROR_INTERNAL_MISCONFIGURATION, "HTTP client runs only in asynchronous mode. So the context must be set."); goto error; } @@ -327,7 +327,7 @@ } } if (!env->session) { - smlErrorSet(&error, SML_ERROR_GENERIC, "Unable to create new session"); + g_set_error(&error, SML_ERROR, SML_ERROR_GENERIC, "Unable to create new session"); goto error; } @@ -345,14 +345,15 @@ smlTrace(TRACE_EXIT, "%s: %p", __func__, env); return; error: - smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(&error)); smlTransportReceiveEvent(env->tsp, NULL, SML_TRANSPORT_EVENT_ERROR, NULL, error); + smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, error->message); + g_error_free(error); } -static SmlBool smlTransportHttpClientSetResponseURI( - SmlTransport *tsp, - const char *uri, - SmlError **error) +static gboolean +smlTransportHttpClientSetResponseURI (SmlTransport *tsp, + const gchar *uri, + GError **error) { smlTrace(TRACE_ENTRY, "%s(%p, %s, %p)", __func__, tsp, VA_STRING(uri), error); CHECK_ERROR_REF @@ -369,9 +370,9 @@ env->url = g_strdup(uri); env->uri = soup_uri_new(env->url); if (env->uri == NULL) { - smlErrorSet(error, SML_ERROR_INTERNAL_MISCONFIGURATION, + g_set_error(error, SML_ERROR, SML_ERROR_INTERNAL_MISCONFIGURATION, "The specified url \"%s\" is wrong.", env->url); - smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, smlErrorPrint(error)); + smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, (*error)->message); return FALSE; } @@ -379,9 +380,9 @@ return TRUE; } -static SmlBool smlTransportHttpClientCleanupSession( - gpointer data, - SmlError **error) +static gboolean +smlTransportHttpClientCleanupSession (gpointer data, + GError **error) { smlTrace(TRACE_ENTRY, "%s", __func__); CHECK_ERROR_REF @@ -396,7 +397,9 @@ return TRUE; } -static SmlBool smlTransportHttpClientFinalize(void *data, SmlError **error) +static gboolean +smlTransportHttpClientFinalize (void *data, + GError **error) { smlTrace(TRACE_ENTRY, "%s(%p, %p)", __func__, data, error); CHECK_ERROR_REF @@ -426,11 +429,15 @@ smlTrace(TRACE_EXIT, "%s", __func__); return TRUE; error: - smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, smlErrorPrint(error)); + smlTrace(TRACE_EXIT_ERROR, "%s - %s", __func__, (*error)->message); return FALSE; } -static void smlTransportHttpClientSend(void *userdata, void *link_, SmlTransportData *data, SmlError *error) +static void +smlTransportHttpClientSend (void *userdata, + void *link_, + SmlTransportData *data, + GError *error) { smlTrace(TRACE_ENTRY, "%s(%p, %p, %p, %p)", __func__, userdata, link_, data, error); smlAssert(error || data); @@ -447,7 +454,7 @@ SoupMessage *msg = soup_message_new_from_uri(SOUP_METHOD_POST, env->uri); if (!msg) { - smlErrorSet(&error, SML_ERROR_GENERIC, "unknown libsoup error during message_new"); + g_set_error(&error, SML_ERROR, SML_ERROR_GENERIC, "unknown libsoup error during message_new"); goto error; } @@ -463,7 +470,7 @@ content_type = SML_ELEMENT_SAN; break; default: - smlErrorSet(&error, SML_ERROR_GENERIC, "Unknown Mimetype %d", data->type); + g_set_error(&error, SML_ERROR, SML_ERROR_GENERIC, "Unknown Mimetype %d", data->type); goto error_free_message; } @@ -499,8 +506,8 @@ g_object_unref(msg); error: smlTransportReceiveEvent(env->tsp, NULL, SML_TRANSPORT_EVENT_ERROR, NULL, error); - smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, smlErrorPrint(&error)); - smlErrorDeref(&error); + smlTrace(TRACE_EXIT_ERROR, "%s: %s", __func__, error->message); + g_error_free(error); } static void smlTransportHttpClientDisconnect(void *data, void *linkdata) @@ -540,7 +547,9 @@ smlTrace(TRACE_EXIT, "%s", __func__); } -SmlBool smlTransportHttpClientNew(SmlTransport *tsp, SmlError **error) +gboolean +smlTransportHttpClientNew (SmlTransport *tsp, + GError **error) { CHECK_ERROR_REF smlAssert(tsp); Modified: trunk/libsyncml/transports/http_client_internals.h ============================================================================== --- trunk/libsyncml/transports/http_client_internals.h Thu Jul 9 13:57:04 2009 (r1163) +++ trunk/libsyncml/transports/http_client_internals.h Thu Jul 9 13:57:21 2009 (r1164) @@ -48,8 +48,8 @@ char *password; char *cafile; - SmlBool connectDone; - SmlBool disconnectDone; + gboolean connectDone; + gboolean disconnectDone; } SmlTransportHttpClientEnv; gboolean smlTransportHttpClientNew (SmlTransport *tsp, GError **error); |