summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2005-08-25 15:26:02 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2005-08-25 15:26:02 +0000
commit987fb151d18609d82b0f1247be60629e054cc8b9 (patch)
tree9739c1a32cccc793a431d74f6ac5195cd586fac0
parent3acc3c4cae718f781fda4ac1f69ecf978c744390 (diff)
downloadlasso-987fb151d18609d82b0f1247be60629e054cc8b9.tar.gz
lasso-987fb151d18609d82b0f1247be60629e054cc8b9.tar.xz
lasso-987fb151d18609d82b0f1247be60629e054cc8b9.zip
Now an AP can process a Modify request and return an updated data resource to application.
-rw-r--r--lasso/id-wsf/data_service.c10
-rw-r--r--lasso/id-wsf/data_service.h4
-rw-r--r--swig/Lasso-wsf.i5
3 files changed, 13 insertions, 6 deletions
diff --git a/lasso/id-wsf/data_service.c b/lasso/id-wsf/data_service.c
index 10251e09..378288ac 100644
--- a/lasso/id-wsf/data_service.c
+++ b/lasso/id-wsf/data_service.c
@@ -216,7 +216,7 @@ gint
lasso_data_service_build_response_msg(LassoDataService *service)
{
LassoWsfProfile *profile;
- LassoDstQuery *query;
+ LassoDstQuery *request;
LassoDstQueryResponse *response;
GList *iter;
xmlDoc *doc;
@@ -225,12 +225,12 @@ lasso_data_service_build_response_msg(LassoDataService *service)
LassoSoapEnvelope *envelope;
profile = LASSO_WSF_PROFILE(service);
- query = LASSO_DST_QUERY(profile->request);
+ request = LASSO_DST_QUERY(profile->request);
response = lasso_dst_query_response_new(lasso_utility_status_new(LASSO_DST_STATUS_CODE_OK));
profile->response = LASSO_NODE(response);
- response->prefixServiceType = g_strdup(query->prefixServiceType);
- response->hrefServiceType = g_strdup(query->hrefServiceType);
+ response->prefixServiceType = g_strdup(request->prefixServiceType);
+ response->hrefServiceType = g_strdup(request->hrefServiceType);
envelope = profile->soap_envelope_response;
envelope->Body->any = g_list_append(envelope->Body->any, response);
@@ -241,7 +241,7 @@ lasso_data_service_build_response_msg(LassoDataService *service)
(xmlChar*)response->hrefServiceType);
/* XXX: needs another level, since there may be more than one <dst:Query> */
- iter = query->QueryItem;
+ iter = request->QueryItem;
while (iter) {
LassoDstQueryItem *item = iter->data;
xpathObj = xmlXPathEvalExpression((xmlChar*)item->Select, xpathCtx);
diff --git a/lasso/id-wsf/data_service.h b/lasso/id-wsf/data_service.h
index b1a97fd7..d80f5098 100644
--- a/lasso/id-wsf/data_service.h
+++ b/lasso/id-wsf/data_service.h
@@ -87,7 +87,9 @@ LASSO_EXPORT LassoDstQueryItem* lasso_data_service_add_query_item(LassoDataServi
LASSO_EXPORT gint lasso_data_service_process_query_msg(LassoDataService *service,
const char *message);
-
+
+LASSO_EXPORT gint lasso_data_service_build_modify_response_msg(LassoDataService *service);
+
LASSO_EXPORT gint lasso_data_service_build_response_msg(LassoDataService *service);
LASSO_EXPORT gint lasso_data_service_process_query_response_msg(LassoDataService *service,
diff --git a/swig/Lasso-wsf.i b/swig/Lasso-wsf.i
index 0d86fc6c..8ea00afd 100644
--- a/swig/Lasso-wsf.i
+++ b/swig/Lasso-wsf.i
@@ -4083,6 +4083,10 @@ typedef struct {
END_THROW_ERROR
THROW_ERROR
+ int buildModifyResponseMsg();
+ END_THROW_ERROR
+
+ THROW_ERROR
int buildResponseMsg();
END_THROW_ERROR
@@ -4171,6 +4175,7 @@ typedef struct {
#define LassoDataService_buildRequestMsg(self) lasso_wsf_profile_build_soap_request_msg(LASSO_WSF_PROFILE(self))
/* Methods implementations */
+#define LassoDataService_buildModifyResponseMsg lasso_data_service_build_modify_response_msg
#define LassoDataService_buildResponseMsg lasso_data_service_build_response_msg
#define LassoDataService_addData lasso_data_service_add_data
#define LassoDataService_addModification lasso_data_service_add_modification