diff options
| author | Damien Laniel <dlaniel@entrouvert.com> | 2008-05-20 18:34:09 +0000 |
|---|---|---|
| committer | Damien Laniel <dlaniel@entrouvert.com> | 2008-05-20 18:34:09 +0000 |
| commit | eb2fbc8fc05e021ef718c1582f7de67e4246caf2 (patch) | |
| tree | 13ed3fc7e02c4b3cbe771898a4d97ee2d884c291 /lasso/xml | |
| parent | c9a8f041ab03a83439f39e61ea39b46b162cf257 (diff) | |
| download | lasso-eb2fbc8fc05e021ef718c1582f7de67e4246caf2.tar.gz lasso-eb2fbc8fc05e021ef718c1582f7de67e4246caf2.tar.xz lasso-eb2fbc8fc05e021ef718c1582f7de67e4246caf2.zip | |
fixed some reference counting and memory management
Diffstat (limited to 'lasso/xml')
| -rw-r--r-- | lasso/xml/id-wsf-2.0/disco_endpoint_context.c | 5 | ||||
| -rw-r--r-- | lasso/xml/id-wsf-2.0/disco_svc_metadata.c | 3 | ||||
| -rw-r--r-- | lasso/xml/id-wsf-2.0/sbf_framework.c | 15 | ||||
| -rw-r--r-- | lasso/xml/id-wsf-2.0/sbf_framework.h | 2 | ||||
| -rw-r--r-- | lasso/xml/soap_envelope.c | 17 |
5 files changed, 24 insertions, 18 deletions
diff --git a/lasso/xml/id-wsf-2.0/disco_endpoint_context.c b/lasso/xml/id-wsf-2.0/disco_endpoint_context.c index e7aa73cd..f28a279f 100644 --- a/lasso/xml/id-wsf-2.0/disco_endpoint_context.c +++ b/lasso/xml/id-wsf-2.0/disco_endpoint_context.c @@ -132,14 +132,11 @@ LassoIdWsf2DiscoEndpointContext* lasso_idwsf2_disco_endpoint_context_new_full(const gchar *address) { LassoIdWsf2DiscoEndpointContext *context; - LassoIdWsf2SbfFramework *sbf_framework; context = lasso_idwsf2_disco_endpoint_context_new(); context->Address = g_list_append(NULL, g_strdup(address)); - sbf_framework = lasso_idwsf2_sbf_framework_new(); - sbf_framework->version = g_strdup("2.0"); - context->Framework = g_list_append(NULL, sbf_framework); + context->Framework = g_list_append(NULL, lasso_idwsf2_sbf_framework_new_full("2.0")); return context; } diff --git a/lasso/xml/id-wsf-2.0/disco_svc_metadata.c b/lasso/xml/id-wsf-2.0/disco_svc_metadata.c index c09b3d5d..5116d3ed 100644 --- a/lasso/xml/id-wsf-2.0/disco_svc_metadata.c +++ b/lasso/xml/id-wsf-2.0/disco_svc_metadata.c @@ -136,7 +136,7 @@ lasso_idwsf2_disco_svc_metadata_new_full(const gchar *service_type, const gchar LassoIdWsf2DiscoSvcMetadata *metadata; LassoIdWsf2DiscoEndpointContext *endpoint_context; - metadata = lasso_idwsf2_disco_svc_metadata_new(); + metadata = g_object_new(LASSO_TYPE_IDWSF2_DISCO_SVC_METADATA, NULL); metadata->Abstract = g_strdup(abstract); metadata->ProviderID = g_strdup(provider_id); @@ -144,6 +144,7 @@ lasso_idwsf2_disco_svc_metadata_new_full(const gchar *service_type, const gchar endpoint_context = lasso_idwsf2_disco_endpoint_context_new_full(soap_endpoint); metadata->ServiceContext = g_list_append(NULL, lasso_idwsf2_disco_service_context_new_full(service_type, endpoint_context)); + g_object_unref(endpoint_context); return metadata; } diff --git a/lasso/xml/id-wsf-2.0/sbf_framework.c b/lasso/xml/id-wsf-2.0/sbf_framework.c index ac193c1a..6490b35d 100644 --- a/lasso/xml/id-wsf-2.0/sbf_framework.c +++ b/lasso/xml/id-wsf-2.0/sbf_framework.c @@ -66,8 +66,7 @@ static void instance_init(LassoIdWsf2SbfFramework *node) { node->version = NULL; - node->attributes = g_hash_table_new_full( - g_str_hash, g_str_equal, g_free, g_free); + node->attributes = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); } static void @@ -118,3 +117,15 @@ lasso_idwsf2_sbf_framework_new() { return g_object_new(LASSO_TYPE_IDWSF2_SBF_FRAMEWORK, NULL); } + +LassoIdWsf2SbfFramework* +lasso_idwsf2_sbf_framework_new_full(const char *version) +{ + LassoIdWsf2SbfFramework* framework; + + framework = g_object_new(LASSO_TYPE_IDWSF2_SBF_FRAMEWORK, NULL); + + framework->version = g_strdup(version); + + return framework; +} diff --git a/lasso/xml/id-wsf-2.0/sbf_framework.h b/lasso/xml/id-wsf-2.0/sbf_framework.h index 746471a6..c246e97b 100644 --- a/lasso/xml/id-wsf-2.0/sbf_framework.h +++ b/lasso/xml/id-wsf-2.0/sbf_framework.h @@ -73,7 +73,7 @@ struct _LassoIdWsf2SbfFrameworkClass { LASSO_EXPORT GType lasso_idwsf2_sbf_framework_get_type(void); LASSO_EXPORT LassoIdWsf2SbfFramework* lasso_idwsf2_sbf_framework_new(void); - +LASSO_EXPORT LassoIdWsf2SbfFramework* lasso_idwsf2_sbf_framework_new_full(const char *version); #ifdef __cplusplus } diff --git a/lasso/xml/soap_envelope.c b/lasso/xml/soap_envelope.c index ea06eac1..e855bac3 100644 --- a/lasso/xml/soap_envelope.c +++ b/lasso/xml/soap_envelope.c @@ -89,26 +89,23 @@ lasso_soap_envelope_get_type() LassoSoapEnvelope* lasso_soap_envelope_new(LassoSoapBody *body) { - LassoSoapEnvelope *node; + LassoSoapEnvelope *envelope; - node = g_object_new(LASSO_TYPE_SOAP_ENVELOPE, NULL); + envelope = g_object_new(LASSO_TYPE_SOAP_ENVELOPE, NULL); - node->Body = body; + envelope->Body = body; - return node; + return envelope; } LassoSoapEnvelope* lasso_soap_envelope_new_from_message(const gchar *message) { - LassoSoapEnvelope *node; + LassoSoapEnvelope *envelope; g_return_val_if_fail(message != NULL, NULL); - node = g_object_new(LASSO_TYPE_SOAP_ENVELOPE, NULL); - lasso_node_init_from_message(LASSO_NODE(node), message); + envelope = LASSO_SOAP_ENVELOPE(lasso_node_new_from_dump(message)); - node = LASSO_SOAP_ENVELOPE(lasso_node_new_from_dump(message)); - - return node; + return envelope; } |
