diff options
| -rw-r--r-- | lasso/id-wsf-2.0/data_service.c | 22 | ||||
| -rw-r--r-- | lasso/id-wsf-2.0/data_service.h | 2 | ||||
| -rw-r--r-- | lasso/id-wsf-2.0/discovery.c | 12 | ||||
| -rw-r--r-- | lasso/id-wsf-2.0/discovery.h | 2 | ||||
| -rw-r--r-- | lasso/xml/id-wsf-2.0/Makefile.am | 7 | ||||
| -rw-r--r-- | lasso/xml/id-wsf-2.0/dst_data_response_base.c | 2 | ||||
| -rw-r--r-- | swig/Lasso-wsf2.i | 131 |
7 files changed, 150 insertions, 28 deletions
diff --git a/lasso/id-wsf-2.0/data_service.c b/lasso/id-wsf-2.0/data_service.c index aa0fabe7..f1187c07 100644 --- a/lasso/id-wsf-2.0/data_service.c +++ b/lasso/id-wsf-2.0/data_service.c @@ -44,10 +44,15 @@ struct _LassoIdWsf2DataServicePrivate gint lasso_idwsf2_data_service_init_query(LassoIdWsf2DataService *service) { - LassoWsf2Profile *profile = LASSO_WSF2_PROFILE(service); + LassoWsf2Profile *profile; LassoIdWsf2DstRefQuery *query; LassoWsAddrEndpointReference *epr; + g_return_val_if_fail(LASSO_IS_IDWSF2_DATA_SERVICE(service), + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); + + profile = LASSO_WSF2_PROFILE(service); + query = lasso_idwsf2_dstref_query_new(); profile->request = LASSO_NODE(query); @@ -72,7 +77,7 @@ lasso_idwsf2_data_service_init_query(LassoIdWsf2DataService *service) return 0; } -LassoIdWsf2DstRefQueryItem* +gint lasso_idwsf2_data_service_add_query_item(LassoIdWsf2DataService *service, const gchar *item_xpath, const gchar *item_id) { @@ -80,12 +85,13 @@ lasso_idwsf2_data_service_add_query_item(LassoIdWsf2DataService *service, const LassoIdWsf2DstRefQuery *query; LassoIdWsf2DstRefQueryItem *item; - g_return_val_if_fail(LASSO_IS_IDWSF2_DATA_SERVICE(service), NULL); - g_return_val_if_fail(item_xpath != NULL, NULL); - g_return_val_if_fail(item_id != NULL, NULL); + g_return_val_if_fail(LASSO_IS_IDWSF2_DATA_SERVICE(service), + LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); + g_return_val_if_fail(item_xpath != NULL, LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); + g_return_val_if_fail(item_id != NULL, LASSO_PARAM_ERROR_BAD_TYPE_OR_NULL_OBJ); if (! LASSO_IS_IDWSF2_DSTREF_QUERY(profile->request)) { - return NULL; + return LASSO_PROFILE_ERROR_MISSING_REQUEST; } query = LASSO_IDWSF2_DSTREF_QUERY(profile->request); @@ -93,7 +99,7 @@ lasso_idwsf2_data_service_add_query_item(LassoIdWsf2DataService *service, const item = lasso_idwsf2_dstref_query_item_new_full(item_xpath, item_id); query->QueryItem = g_list_append(query->QueryItem, item); - return item; + return 0; } /*****************************************************************************/ @@ -188,7 +194,7 @@ lasso_idwsf2_data_service_get_type() LassoIdWsf2DataService* lasso_idwsf2_data_service_new() { - return g_object_new(LASSO_TYPE_IDWSF2_DATA_SERVICE, NULL); + return LASSO_IDWSF2_DATA_SERVICE(g_object_new(LASSO_TYPE_IDWSF2_DATA_SERVICE, NULL)); } LassoIdWsf2DataService* diff --git a/lasso/id-wsf-2.0/data_service.h b/lasso/id-wsf-2.0/data_service.h index 3c43c8cc..89c04e57 100644 --- a/lasso/id-wsf-2.0/data_service.h +++ b/lasso/id-wsf-2.0/data_service.h @@ -81,7 +81,7 @@ LASSO_EXPORT LassoIdWsf2DataService* lasso_idwsf2_data_service_new_full(LassoSer LASSO_EXPORT gint lasso_idwsf2_data_service_init_query(LassoIdWsf2DataService *service); -LASSO_EXPORT LassoIdWsf2DstRefQueryItem* lasso_idwsf2_data_service_add_query_item( +LASSO_EXPORT gint lasso_idwsf2_data_service_add_query_item( LassoIdWsf2DataService *service, const gchar *item_xpath, const gchar *item_id); #ifdef __cplusplus diff --git a/lasso/id-wsf-2.0/discovery.c b/lasso/id-wsf-2.0/discovery.c index d5c9f922..d7a703e4 100644 --- a/lasso/id-wsf-2.0/discovery.c +++ b/lasso/id-wsf-2.0/discovery.c @@ -585,7 +585,12 @@ lasso_idwsf2_discovery_process_query_response_msg(LassoIdWsf2Discovery *discover return res; } - +/* struct _LassoIdWsf2DataServicePrivate */ +/* { */ +/* gboolean dispose_has_run; */ +/* LassoWsAddrEndpointReference *epr; */ +/* GList *credentials; */ +/* }; */ /** * lasso_idwsf2_discovery_get_service: * @discovery: a #LassoIdWsf2Discovery @@ -598,13 +603,14 @@ lasso_idwsf2_discovery_process_query_response_msg(LassoIdWsf2Discovery *discover * error occured. **/ LassoIdWsf2DataService* -lasso_idwsf2_discovery_get_service(LassoIdWsf2Discovery *discovery, const char *service_type) +lasso_idwsf2_discovery_get_service(LassoIdWsf2Discovery *discovery, const gchar *service_type) { LassoWsf2Profile *profile = LASSO_WSF2_PROFILE(discovery); LassoIdWsf2DiscoQueryResponse *response; LassoWsAddrEndpointReference *epr = NULL; LassoIdWsf2DataService *service; + g_return_val_if_fail(LASSO_IS_IDWSF2_DISCOVERY(discovery), NULL); g_return_val_if_fail(LASSO_IS_SERVER(profile->server), NULL); response = LASSO_IDWSF2_DISCO_QUERY_RESPONSE(profile->response); @@ -615,7 +621,7 @@ lasso_idwsf2_discovery_get_service(LassoIdWsf2Discovery *discovery, const char * /* FIXME : foreach on the list instead */ if (response->EndpointReference != NULL && response->EndpointReference->data != NULL) { - epr = response->EndpointReference->data; + epr = LASSO_WSA_ENDPOINT_REFERENCE(response->EndpointReference->data); } else { return NULL; } diff --git a/lasso/id-wsf-2.0/discovery.h b/lasso/id-wsf-2.0/discovery.h index d9a847a4..d2561d8d 100644 --- a/lasso/id-wsf-2.0/discovery.h +++ b/lasso/id-wsf-2.0/discovery.h @@ -106,7 +106,7 @@ LASSO_EXPORT gint lasso_idwsf2_discovery_process_query_response_msg(LassoIdWsf2D const gchar *message); LASSO_EXPORT LassoIdWsf2DataService* lasso_idwsf2_discovery_get_service( - LassoIdWsf2Discovery *discovery, const char *service_type); + LassoIdWsf2Discovery *discovery, const gchar *service_type); #ifdef __cplusplus } diff --git a/lasso/xml/id-wsf-2.0/Makefile.am b/lasso/xml/id-wsf-2.0/Makefile.am index a2e4af90..12490d1b 100644 --- a/lasso/xml/id-wsf-2.0/Makefile.am +++ b/lasso/xml/id-wsf-2.0/Makefile.am @@ -32,9 +32,6 @@ liblasso_xml_id_wsf2_la_SOURCES = \ dstref_query_response.c \ dstref_result_query.c \ dstref_sort.c \ - dst_data_response_base.c \ - dst_request.c \ - dst_result_query_base.c \ sec_token.c \ soap_binding_framework.c \ util_status.c \ @@ -45,7 +42,7 @@ liblassoinclude_HEADERS = \ disco_options.h \ disco_query.h \ disco_query_response.h \ - disco_requested_service.c \ + disco_requested_service.h \ disco_security_context.h \ disco_service_context.h \ disco_svc_metadata.h \ @@ -67,5 +64,5 @@ liblassoinclude_HEADERS = \ sec_token.h \ soap_binding_framework.h \ util_status.h \ - util_response.c + util_response.h diff --git a/lasso/xml/id-wsf-2.0/dst_data_response_base.c b/lasso/xml/id-wsf-2.0/dst_data_response_base.c index 68ca993e..638361d1 100644 --- a/lasso/xml/id-wsf-2.0/dst_data_response_base.c +++ b/lasso/xml/id-wsf-2.0/dst_data_response_base.c @@ -90,7 +90,7 @@ lasso_idwsf2_dst_data_response_base_get_type() (GInstanceInitFunc) instance_init, }; - this_type = g_type_register_static(LASSO_TYPE_UTIL_RESPONSE, + this_type = g_type_register_static(LASSO_TYPE_IDWSF2_UTIL_RESPONSE, "LassoIdWsf2DstDataResponseBase", &this_info, 0); } return this_type; diff --git a/swig/Lasso-wsf2.i b/swig/Lasso-wsf2.i index 9f613c8d..06a5c1cc 100644 --- a/swig/Lasso-wsf2.i +++ b/swig/Lasso-wsf2.i @@ -28,6 +28,7 @@ %{ #include <lasso/id-wsf-2.0/discovery.h> +#include <lasso/id-wsf-2.0/data_service.h> %} @@ -48,10 +49,9 @@ /*********************************************************************** - * lasso:Discovery + * lasso:IdWsf2Discovery ***********************************************************************/ - #ifndef SWIG_PHP_RENAMES %rename(IdWsf2Discovery) LassoIdWsf2Discovery; #endif @@ -137,11 +137,11 @@ typedef struct { END_THROW_ERROR() THROW_ERROR() - int processMetadataRegisterMsg(const gchar *message); + int processMetadataRegisterMsg(const char *message); END_THROW_ERROR() THROW_ERROR() - int processMetadataRegisterResponseMsg(const gchar *message); + int processMetadataRegisterResponseMsg(const char *message); END_THROW_ERROR() THROW_ERROR() @@ -149,7 +149,7 @@ typedef struct { END_THROW_ERROR() THROW_ERROR() - int processMetadataAssociationAddMsg(const gchar *message); + int processMetadataAssociationAddMsg(const char *message); END_THROW_ERROR() THROW_ERROR() @@ -157,7 +157,7 @@ typedef struct { END_THROW_ERROR() THROW_ERROR() - int processMetadataAssociationAddResponseMsg(const gchar *message); + int processMetadataAssociationAddResponseMsg(const char *message); END_THROW_ERROR() THROW_ERROR() @@ -165,16 +165,18 @@ typedef struct { END_THROW_ERROR() THROW_ERROR() - int addRequestedServiceType(const gchar *service_type); + int addRequestedServiceType(const char *service_type); END_THROW_ERROR() THROW_ERROR() - int processQueryMsg(const gchar *message); + int processQueryMsg(const char *message); END_THROW_ERROR() THROW_ERROR() - int processQueryResponseMsg(const gchar *message); + int processQueryResponseMsg(const char *message); END_THROW_ERROR() + + LassoIdWsf2DataService* getService(const char *service_type = NULL); } %{ @@ -281,6 +283,117 @@ typedef struct { #define LassoIdWsf2Discovery_processQueryMsg lasso_idwsf2_discovery_process_query_msg #define LassoIdWsf2Discovery_processQueryResponseMsg lasso_idwsf2_discovery_process_query_response_msg #define LassoIdWsf2Discovery_registerMetadata lasso_idwsf2_discovery_register_metadata +#define LassoIdWsf2Discovery_getService lasso_idwsf2_discovery_get_service; + +%} + + +/*********************************************************************** + * lasso:IdWsf2DataService + ***********************************************************************/ + +#ifndef SWIG_PHP_RENAMES +%rename(IdWsf2DataService) LassoIdWsf2DataService; +#endif +typedef struct { +} LassoIdWsf2DataService; +%extend LassoIdWsf2DataService { + /* Attributes inherited from WsfProfile */ + + %immutable msgBody; + char *msgBody; + + %immutable msgUrl; + char *msgUrl; + + %newobject request_get; + LassoNode *request; + + %newobject response_get; + LassoNode *response; + + %newobject server_get; + LassoServer *server; + + /* Constructor, Destructor & Static Methods */ + + LassoIdWsf2DataService(LassoServer *server); + + ~LassoIdWsf2DataService(); + + /* Methods inherited from LassoNode */ + + %newobject dump; + char *dump(); + + /* Methods inherited from Wsf2Profile */ + + THROW_ERROR() + int buildRequestMsg(); + END_THROW_ERROR() + + THROW_ERROR() + int buildResponseMsg(); + END_THROW_ERROR() + + /* Methods */ + + THROW_ERROR() + int initQuery(); + END_THROW_ERROR() + + THROW_ERROR() + int addQueryItem(const char *item_xpath, const char *item_id); + END_THROW_ERROR() +} + +%{ + +/* Attributes inherited from WsfProfile implementations */ + +/* msgBody */ +#define LassoIdWsf2DataService_get_msgBody(self) LASSO_WSF2_PROFILE(self)->msg_body +#define LassoIdWsf2DataService_msgBody_get(self) LASSO_WSF2_PROFILE(self)->msg_body + +/* msgUrl */ +#define LassoIdWsf2DataService_get_msgUrl(self) LASSO_WSF2_PROFILE(self)->msg_url +#define LassoIdWsf2DataService_msgUrl_get(self) LASSO_WSF2_PROFILE(self)->msg_url + +/* request */ +#define LassoIdWsf2DataService_get_request(self) get_node(LASSO_WSF2_PROFILE(self)->request) +#define LassoIdWsf2DataService_request_get(self) get_node(LASSO_WSF2_PROFILE(self)->request) +#define LassoIdWsf2DataService_set_request(self, value) set_node((gpointer *) &LASSO_WSF2_PROFILE(self)->request, (value)) +#define LassoIdWsf2DataService_request_set(self, value) set_node((gpointer *) &LASSO_WSF2_PROFILE(self)->request, (value)) + +/* response */ +#define LassoIdWsf2DataService_get_response(self) get_node(LASSO_WSF2_PROFILE(self)->response) +#define LassoIdWsf2DataService_response_get(self) get_node(LASSO_WSF2_PROFILE(self)->response) +#define LassoIdWsf2DataService_set_response(self, value) set_node((gpointer *) &LASSO_WSF2_PROFILE(self)->response, (value)) +#define LassoIdWsf2DataService_response_set(self, value) set_node((gpointer *) &LASSO_WSF2_PROFILE(self)->response, (value)) + +/* server */ +#define LassoIdWsf2DataService_get_server(self) get_node(LASSO_WSF2_PROFILE(self)->server) +#define LassoIdWsf2DataService_server_get(self) get_node(LASSO_WSF2_PROFILE(self)->server) +#define LassoIdWsf2DataService_set_server(self, value) set_node((gpointer *) &LASSO_WSF2_PROFILE(self)->server, (value)) +#define LassoIdWsf2DataService_server_set(self, value) set_node((gpointer *) &LASSO_WSF2_PROFILE(self)->server, (value)) + +/* Constructors, destructors & static methods implementations */ + +#define new_LassoIdWsf2DataService lasso_idwsf2_data_service_new +#define delete_LassoIdWsf2DataService(self) lasso_node_destroy(LASSO_NODE(self)) + +/* Implementations of methods inherited from LassoNode */ + +#define LassoIdWsf2DataService_dump(self) lasso_node_dump(LASSO_NODE(self)) + +/* Implementations of methods inherited from Wsf2Profile */ + +#define LassoIdWsf2DataService_buildRequestMsg(self) lasso_wsf2_profile_build_request_msg(LASSO_WSF2_PROFILE(self)) +#define LassoIdWsf2DataService_buildResponseMsg(self) lasso_wsf2_profile_build_response_msg(LASSO_WSF2_PROFILE(self)) + +/* Methods implementations */ +#define LassoIdWsf2DataService_initQuery lasso_idwsf2_data_service_init_query +#define LassoIdWsf2DataService_addQueryItem lasso_idwsf2_data_service_add_query_item %} |
