summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Laniel <dlaniel@entrouvert.com>2007-04-12 17:05:32 +0000
committerDamien Laniel <dlaniel@entrouvert.com>2007-04-12 17:05:32 +0000
commit8fc5a70abc4c8a242a5f44112dcddd691a85eb62 (patch)
tree1a86f64c8d6150b902210b4d72aeb361d56d2373
parentfd22c2846b02eb26916613c5aeb63bcd62f3985c (diff)
downloadlasso-8fc5a70abc4c8a242a5f44112dcddd691a85eb62.tar.gz
lasso-8fc5a70abc4c8a242a5f44112dcddd691a85eb62.tar.xz
lasso-8fc5a70abc4c8a242a5f44112dcddd691a85eb62.zip
implemented disco.metadata.dump()
-rw-r--r--configure.ac1
-rw-r--r--lasso/id-wsf-2.0/discovery.c9
-rw-r--r--lasso/id-wsf-2.0/discovery.h2
-rw-r--r--lasso/xml/id-wsf-2.0/disco_svc_metadata.c4
-rw-r--r--lasso/xml/id-wsf-2.0/disco_svc_metadata.h2
-rw-r--r--swig/Lasso-wsf2-disco.i2
-rw-r--r--swig/Lasso-wsf2.i20
-rw-r--r--swig/Lasso.i10
-rw-r--r--swig/Makefile.am2
-rw-r--r--swig/id-wsf-2.0/Makefile.am6
-rw-r--r--swig/id-wsf-2.0/disco_svc_metadata.i36
-rw-r--r--swig/id-wsf-2.0/inheritance.h1
-rw-r--r--swig/id-wsf-2.0/main.h5
13 files changed, 75 insertions, 25 deletions
diff --git a/configure.ac b/configure.ac
index d9087ed4..a0b7f802 100644
--- a/configure.ac
+++ b/configure.ac
@@ -887,6 +887,7 @@ python/Makefile
swig/Makefile
swig/wsf-support.i
swig/saml-2.0/Makefile
+swig/id-wsf-2.0/Makefile
tests/Makefile
tests/data/Makefile
tests/data/ca1-la/Makefile
diff --git a/lasso/id-wsf-2.0/discovery.c b/lasso/id-wsf-2.0/discovery.c
index 1c0fdb6f..3b0481ba 100644
--- a/lasso/id-wsf-2.0/discovery.c
+++ b/lasso/id-wsf-2.0/discovery.c
@@ -65,15 +65,6 @@ lasso_idwsf2_discovery_destroy(LassoIdwsf2Discovery *discovery)
g_object_unref(G_OBJECT(discovery));
}
-gchar *
-lasso_idwsf2_discovery_get_metadata_dump(LassoIdwsf2Discovery *discovery)
-{
- if (discovery->metadata == NULL)
- return NULL;
- return lasso_node_dump(LASSO_NODE(discovery->metadata));
-}
-
-
/**
* lasso_discovery_init_query
* @discovery: a #LassoDiscovery
diff --git a/lasso/id-wsf-2.0/discovery.h b/lasso/id-wsf-2.0/discovery.h
index 6e260230..70d68592 100644
--- a/lasso/id-wsf-2.0/discovery.h
+++ b/lasso/id-wsf-2.0/discovery.h
@@ -72,8 +72,6 @@ LASSO_EXPORT LassoIdwsf2Discovery* lasso_idwsf2_discovery_new(LassoServer *serve
LASSO_EXPORT void lasso_idwsf2_discovery_destroy(LassoIdwsf2Discovery *discovery);
-LASSO_EXPORT gchar *lasso_idwsf2_discovery_get_metadata_dump(LassoIdwsf2Discovery *discovery);
-
LASSO_EXPORT gint lasso_idwsf2_discovery_init_metadata_register(LassoIdwsf2Discovery *discovery,
gchar *service_type, gchar *abstract, gchar *disco_provider_id);
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 12824779..7ad47d63 100644
--- a/lasso/xml/id-wsf-2.0/disco_svc_metadata.c
+++ b/lasso/xml/id-wsf-2.0/disco_svc_metadata.c
@@ -55,7 +55,7 @@ static struct XmlSnippet schema_snippets[] = {
{ "ServiceContext", SNIPPET_NODE,
G_STRUCT_OFFSET(LassoIdwsf2DiscoSvcMetadata, ServiceContext) },
{ "svcMDID", SNIPPET_ATTRIBUTE,
- G_STRUCT_OFFSET(LassoIdwsf2DiscoSvcMetadata, id) },
+ G_STRUCT_OFFSET(LassoIdwsf2DiscoSvcMetadata, svcMDID) },
{ NULL, 0, 0}
};
@@ -69,7 +69,7 @@ instance_init(LassoIdwsf2DiscoSvcMetadata *node)
node->Abstract = NULL;
node->ProviderID = NULL;
node->ServiceContext = NULL;
- node->id = NULL;
+ node->svcMDID = NULL;
}
static void
diff --git a/lasso/xml/id-wsf-2.0/disco_svc_metadata.h b/lasso/xml/id-wsf-2.0/disco_svc_metadata.h
index 9008793d..20376171 100644
--- a/lasso/xml/id-wsf-2.0/disco_svc_metadata.h
+++ b/lasso/xml/id-wsf-2.0/disco_svc_metadata.h
@@ -59,7 +59,7 @@ struct _LassoIdwsf2DiscoSvcMetadata {
LassoIdwsf2DiscoServiceContext *ServiceContext;
/* attributes */
- gchar *id;
+ gchar *svcMDID;
};
struct _LassoIdwsf2DiscoSvcMetadataClass {
diff --git a/swig/Lasso-wsf2-disco.i b/swig/Lasso-wsf2-disco.i
index 12cbbebf..acb540f4 100644
--- a/swig/Lasso-wsf2-disco.i
+++ b/swig/Lasso-wsf2-disco.i
@@ -31,7 +31,7 @@
%rename(IDWSF2_DISCO_PREFIX) LASSO_IDWSF2_DISCO_PREFIX;
#endif
#define LASSO_IDWSF2_DISCO_HREF "urn:liberty:disco:2006-08"
-#define LASSO_IDWSF2_DISCO_PREFIX "ds"
+#define LASSO_IDWSF2_DISCO_PREFIX "disco"
/***********************************************************************
diff --git a/swig/Lasso-wsf2.i b/swig/Lasso-wsf2.i
index 992a6403..5b17f4db 100644
--- a/swig/Lasso-wsf2.i
+++ b/swig/Lasso-wsf2.i
@@ -50,8 +50,8 @@
typedef struct {
} LassoIdwsf2Discovery;
%extend LassoIdwsf2Discovery {
- /* Attributes inherited from Wsf2Profile */
+ /* Attributes inherited from Wsf2Profile */
%immutable msgBody;
char *msgBody;
@@ -73,6 +73,11 @@ typedef struct {
%newobject soapEnvelopeResponse_get;
LassoSoapEnvelope *soapEnvelopeResponse;
+
+ /* Attributes */
+
+ %newobject metadata_get;
+ LassoIdwsf2DiscoSvcMetadata *metadata;
/* Constructor, Destructor & Static Methods */
@@ -82,19 +87,13 @@ typedef struct {
/* Methods inherited from Wsf2Profile */
-
THROW_ERROR()
int buildRequestMsg();
END_THROW_ERROR()
-
/* Methods */
THROW_ERROR()
- gchar *getMetadataDump();
- END_THROW_ERROR()
-
- THROW_ERROR()
int initMetadataRegister(char *service_type, char *abstract, char *disco_provider_id);
END_THROW_ERROR()
@@ -105,7 +104,6 @@ typedef struct {
THROW_ERROR()
int initQuery(const char *security_mech_id = NULL);
END_THROW_ERROR()
-
}
%{
@@ -150,7 +148,12 @@ typedef struct {
#define LassoIdwsf2Discovery_set_soapEnvelopeResponse(self, value) set_node((gpointer *) &LASSO_WSF2_PROFILE(self)->soap_envelope_response, (value))
#define LassoIdwsf2Discovery_soapEnvelopeResponse_set(self, value) set_node((gpointer *) &LASSO_WSF2_PROFILE(self)->soap_envelope_response, (value))
+/* Attributes */
+#define LassoIdwsf2Discovery_get_metadata(self) get_node(self->metadata)
+#define LassoIdwsf2Discovery_metadata_get(self) get_node(self->metadata)
+#define LassoIdwsf2Discovery_set_metadata(self, value) set_node((gpointer *) &self->metadata, value)
+#define LassoIdwsf2Discovery_metadata_set(self, value) set_node((gpointer *) &self->metadata, value)
/* Constructors, destructors & static methods implementations */
@@ -163,7 +166,6 @@ typedef struct {
/* Methods implementations */
-#define LassoIdwsf2Discovery_getMetadataDump lasso_idwsf2_discovery_get_metadata_dump
#define LassoIdwsf2Discovery_initMetadataRegister lasso_idwsf2_discovery_init_metadata_register
#define LassoIdwsf2Discovery_processMetadataRegisterMsg lasso_idwsf2_discovery_process_metadata_register_msg
#define LassoIdwsf2Discovery_initQuery lasso_idwsf2_discovery_init_query
diff --git a/swig/Lasso.i b/swig/Lasso.i
index e7afb17e..99ad09a0 100644
--- a/swig/Lasso.i
+++ b/swig/Lasso.i
@@ -660,6 +660,9 @@ DYNAMIC_CAST(SWIGTYPE_p_LassoSamlpResponseAbstract, dynamic_cast_node);
SET_NODE_INFO(Node, DowncastableNode)
%include inheritance.h
%include saml-2.0/inheritance.h
+#ifdef LASSO_WSF_ENABLED
+%include id-wsf-2.0/inheritance.h
+#endif /* ifdef LASSO_WSF_ENABLED */
#else /* ifdef SWIGCSHARP */
@@ -675,6 +678,9 @@ SET_NODE_INFO(Node, DowncastableNode)
SET_NODE_INFO(Node, DowncastableNode)
%include inheritance.h
%include saml-2.0/inheritance.h
+#ifdef LASSO_WSF_ENABLED
+%include id-wsf-2.0/inheritance.h
+#endif /* ifdef LASSO_WSF_ENABLED */
#else /* ifdef SWIGJAVA */
@@ -697,6 +703,9 @@ SET_NODE_INFO(Node, DowncastableNode)
#include <swig/inheritance.h>
#include <swig/saml-2.0/inheritance.h>
+#ifdef LASSO_WSF_ENABLED
+#include <swig/id-wsf-2.0/inheritance.h>
+#endif /* ifdef LASSO_WSF_ENABLED */
info->name = NULL;
info->swig = NULL;
@@ -6937,6 +6946,7 @@ int LassoNameRegistration_setSessionFromDump(LassoNameRegistration *self, char *
#ifdef LASSO_WSF_ENABLED
%include Lasso-wsf.i
%include Lasso-wsf2.i
+%include id-wsf-2.0/main.h
#endif
%include Lasso-saml2.i
diff --git a/swig/Makefile.am b/swig/Makefile.am
index f21e6d1d..f3c8f411 100644
--- a/swig/Makefile.am
+++ b/swig/Makefile.am
@@ -4,4 +4,4 @@ EXTRA_DIST = Lasso.i Lasso-wsf.i Lasso-wsf-disco.i Lasso-wsf-dst.i \
wsf-support.i.in Lasso-wsf2.i Lasso-wsf2-disco.i \
Lasso-saml2.i
-SUBDIRS = saml-2.0
+SUBDIRS = saml-2.0 id-wsf-2.0
diff --git a/swig/id-wsf-2.0/Makefile.am b/swig/id-wsf-2.0/Makefile.am
new file mode 100644
index 00000000..5c3d5f35
--- /dev/null
+++ b/swig/id-wsf-2.0/Makefile.am
@@ -0,0 +1,6 @@
+
+EXTRA_DIST = \
+ inheritance.h \
+ main.h \
+ Makefile.am \
+ disco_svc_metadata.i
diff --git a/swig/id-wsf-2.0/disco_svc_metadata.i b/swig/id-wsf-2.0/disco_svc_metadata.i
new file mode 100644
index 00000000..0a82a138
--- /dev/null
+++ b/swig/id-wsf-2.0/disco_svc_metadata.i
@@ -0,0 +1,36 @@
+
+#ifndef SWIGPHP4
+%rename(Idwsf2DiscoSvcMetadata) LassoIdwsf2DiscoSvcMetadata;
+#endif
+typedef struct {
+ char *Abstract;
+ char *ProviderID;
+ /* XXX : Change this "void" if we happen to add ServiceContext in swig as well */
+ void *ServiceContext;
+ char *svcMDID;
+} LassoIdwsf2DiscoSvcMetadata;
+%extend LassoIdwsf2DiscoSvcMetadata {
+
+ /* Constructor, Destructor & Static Methods */
+ LassoIdwsf2DiscoSvcMetadata(gchar *service_type, gchar *abstract, gchar *provider_id);
+ ~LassoIdwsf2DiscoSvcMetadata();
+
+ /* Method inherited from LassoNode */
+ %newobject dump;
+ char* dump();
+}
+
+%{
+
+
+/* Constructors, destructors & static methods implementations */
+
+#define new_LassoIdwsf2DiscoSvcMetadata lasso_idwsf2_disco_svc_metadata_new
+#define delete_LassoIdwsf2DiscoSvcMetadata(self) lasso_node_destroy(LASSO_NODE(self))
+
+/* Implementations of methods inherited from LassoNode */
+
+#define LassoIdwsf2DiscoSvcMetadata_dump(self) lasso_node_dump(LASSO_NODE(self))
+
+%}
+
diff --git a/swig/id-wsf-2.0/inheritance.h b/swig/id-wsf-2.0/inheritance.h
new file mode 100644
index 00000000..ac32c71b
--- /dev/null
+++ b/swig/id-wsf-2.0/inheritance.h
@@ -0,0 +1 @@
+SET_NODE_INFO(Idwsf2DiscoSvcMetadata, Node)
diff --git a/swig/id-wsf-2.0/main.h b/swig/id-wsf-2.0/main.h
new file mode 100644
index 00000000..e130d852
--- /dev/null
+++ b/swig/id-wsf-2.0/main.h
@@ -0,0 +1,5 @@
+%{
+#include <lasso/xml/id-wsf-2.0/disco_svc_metadata.h>
+%}
+
+%include disco_svc_metadata.i