summaryrefslogtreecommitdiffstats
path: root/lasso/xml/id-wsf-2.0
diff options
context:
space:
mode:
Diffstat (limited to 'lasso/xml/id-wsf-2.0')
-rw-r--r--lasso/xml/id-wsf-2.0/disco_query.c126
-rw-r--r--lasso/xml/id-wsf-2.0/disco_query.h72
-rw-r--r--lasso/xml/id-wsf-2.0/disco_query_response.c163
-rw-r--r--lasso/xml/id-wsf-2.0/disco_query_response.h77
4 files changed, 438 insertions, 0 deletions
diff --git a/lasso/xml/id-wsf-2.0/disco_query.c b/lasso/xml/id-wsf-2.0/disco_query.c
new file mode 100644
index 00000000..9da0448b
--- /dev/null
+++ b/lasso/xml/id-wsf-2.0/disco_query.c
@@ -0,0 +1,126 @@
+/* $Id: disco_query.c,v 1.7 2005/01/22 15:57:55 $
+ *
+ * Lasso - A free implementation of the Liberty Alliance specifications.
+ *
+ * Copyright (C) 2007 Entr'ouvert
+ * http://lasso.entrouvert.org
+ *
+ * Authors: See AUTHORS file in top-level directory.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <lasso/xml/id-wsf-2.0/disco_query.h>
+
+/*
+ * Schema fragments (liberty-idwsf-disco-svc-v2.0.xsd) :
+ *
+ * <xs:element name="Query" type="QueryType"/>
+ *
+ * <xs:complexType name="QueryType">
+ * <xs:sequence>
+ * <xs:element name="RequestedService"
+ * type="RequestedServiceType"
+ * minOccurs="0"
+ * maxOccurs="unbounded"/>
+ * </xs:sequence>
+ * <xs:anyAttribute namespace="##other" processContents="lax"/>
+ * </xs:complexType>
+ */
+
+/*****************************************************************************/
+/* private methods */
+/*****************************************************************************/
+
+static struct XmlSnippet schema_snippets[] = {
+// { "ResourceID", SNIPPET_NODE, G_STRUCT_OFFSET(LassoIdwsf2DiscoQuery, ResourceID) },
+// { "EncryptedResourceID",
+// SNIPPET_NODE, G_STRUCT_OFFSET(LassoIdwsf2DiscoQuery, EncryptedResourceID) },
+// { "RequestedServiceType", SNIPPET_LIST_NODES,
+// G_STRUCT_OFFSET(LassoIdwsf2DiscoQuery, RequestedServiceType) },
+ { "id", SNIPPET_ATTRIBUTE, G_STRUCT_OFFSET(LassoIdwsf2DiscoQuery, id) },
+ { NULL, 0, 0}
+};
+
+/*****************************************************************************/
+/* instance and class init functions */
+/*****************************************************************************/
+
+static void
+instance_init(LassoIdwsf2DiscoQuery *node)
+{
+// node->ResourceID = NULL;
+// node->EncryptedResourceID = NULL;
+// node->RequestedServiceType = NULL;
+ node->id = NULL;
+}
+
+static void
+class_init(LassoIdwsf2DiscoQueryClass *klass)
+{
+ LassoNodeClass *nclass = LASSO_NODE_CLASS(klass);
+
+ nclass->node_data = g_new0(LassoNodeClassData, 1);
+ lasso_node_class_set_nodename(nclass, "Query");
+ lasso_node_class_set_ns(nclass, LASSO_IDWSF2_DISCO_HREF, LASSO_IDWSF2_DISCO_PREFIX);
+ lasso_node_class_add_snippets(nclass, schema_snippets);
+}
+
+GType
+lasso_idwsf2_disco_query_get_type()
+{
+ static GType this_type = 0;
+
+ if (!this_type) {
+ static const GTypeInfo this_info = {
+ sizeof (LassoIdwsf2DiscoQueryClass),
+ NULL,
+ NULL,
+ (GClassInitFunc) class_init,
+ NULL,
+ NULL,
+ sizeof(LassoIdwsf2DiscoQuery),
+ 0,
+ (GInstanceInitFunc) instance_init,
+ };
+
+ this_type = g_type_register_static(LASSO_TYPE_NODE,
+ "LassoIdwsf2DiscoQuery", &this_info, 0);
+ }
+ return this_type;
+}
+
+LassoIdwsf2DiscoQuery*
+lasso_idwsf2_disco_query_new()
+{
+ LassoIdwsf2DiscoQuery *node;
+
+ node = g_object_new(LASSO_TYPE_IDWSF2_DISCO_QUERY, NULL);
+
+ return node;
+}
+
+LassoIdwsf2DiscoQuery*
+lasso_idwsf2_disco_query_new_from_message(const gchar *message)
+{
+ LassoIdwsf2DiscoQuery *node;
+
+ g_return_val_if_fail(message != NULL, NULL);
+
+ node = g_object_new(LASSO_TYPE_IDWSF2_DISCO_QUERY, NULL);
+ lasso_node_init_from_message(LASSO_NODE(node), message);
+
+ return node;
+}
diff --git a/lasso/xml/id-wsf-2.0/disco_query.h b/lasso/xml/id-wsf-2.0/disco_query.h
new file mode 100644
index 00000000..5fbc29b5
--- /dev/null
+++ b/lasso/xml/id-wsf-2.0/disco_query.h
@@ -0,0 +1,72 @@
+/* $Id: disco_query.h,v 1.8 2005/01/22 15:57:55 $
+ *
+ * Lasso - A free implementation of the Liberty Alliance specifications.
+ *
+ * Copyright (C) 2007 Entr'ouvert
+ * http://lasso.entrouvert.org
+ *
+ * Authors: See AUTHORS file in top-level directory.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __LASSO_IDWSF2_DISCO_QUERY_H__
+#define __LASSO_IDWSF2_DISCO_QUERY_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <lasso/xml/xml.h>
+//#include <lasso/xml/disco_resource_id.h>
+//#include <lasso/xml/disco_encrypted_resource_id.h>
+//#include <lasso/xml/disco_requested_service_type.h>
+
+#define LASSO_TYPE_IDWSF2_DISCO_QUERY (lasso_idwsf2_disco_query_get_type())
+#define LASSO_IDWSF2_DISCO_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
+ LASSO_TYPE_IDWSF2_DISCO_QUERY, LassoIdwsf2DiscoQuery))
+#define LASSO_IDWSF2_DISCO_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \
+ LASSO_TYPE_IDWSF2_DISCO_QUERY, LassoIdwsf2DiscoQueryClass))
+#define LASSO_IS_IDWSF2_DISCO_QUERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), LASSO_TYPE_IDWSF2_DISCO_QUERY))
+#define LASSO_IS_IDWSF2_DISCO_QUERY_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass),LASSO_TYPE_IDWSF2_DISCO_QUERY))
+#define LASSO_IDWSF2_DISCO_QUERY_GET_CLASS(o) \
+ (G_TYPE_INSTANCE_GET_CLASS ((o), LASSO_TYPE_IDWSF2_DISCO_QUERY, LassoIdwsf2DiscoQueryClass))
+
+typedef struct _LassoIdwsf2DiscoQuery LassoIdwsf2DiscoQuery;
+typedef struct _LassoIdwsf2DiscoQueryClass LassoIdwsf2DiscoQueryClass;
+
+struct _LassoIdwsf2DiscoQuery {
+ LassoNode parent;
+
+// GList *RequestedService;
+ gchar *id;
+};
+
+struct _LassoIdwsf2DiscoQueryClass {
+ LassoNodeClass parent;
+};
+
+LASSO_EXPORT GType lasso_idwsf2_disco_query_get_type(void);
+
+LASSO_EXPORT LassoIdwsf2DiscoQuery* lasso_idwsf2_disco_query_new(void);
+
+LASSO_EXPORT LassoIdwsf2DiscoQuery* lasso_idwsf2_disco_query_new_from_message(const gchar *message);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __LASSO_IDWSF2_DISCO_QUERY_H__ */
diff --git a/lasso/xml/id-wsf-2.0/disco_query_response.c b/lasso/xml/id-wsf-2.0/disco_query_response.c
new file mode 100644
index 00000000..44aa5690
--- /dev/null
+++ b/lasso/xml/id-wsf-2.0/disco_query_response.c
@@ -0,0 +1,163 @@
+/* $Id: disco_query_response.c,v 1.9 2005/08/12 09:08:44$
+ *
+ * Lasso - A free implementation of the Liberty Alliance specifications.
+ *
+ * Copyright (C) 2007 Entr'ouvert
+ * http://lasso.entrouvert.org
+ *
+ * Authors: See AUTHORS file in top-level directory.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <lasso/xml/id-wsf-2.0/disco_query_response.h>
+
+/*
+ * Schema fragment (liberty-idwsf-disco-svc-v2.0.xsd):
+ *
+ * <xs:element name="QueryResponse" type="QueryResponseType"/>
+ *
+ * <xs:complexType name="QueryResponseType">
+ * <xs:sequence>
+ * <xs:element ref="lu:Status"/>
+ * <xs:element ref="wsa:EndpointReference"
+ * minOccurs="0"
+ * maxOccurs="unbounded"/>
+ * </xs:sequence>
+ * <xs:anyAttribute namespace="##other" processContents="lax"/>
+ * </xs:complexType>
+ */
+
+/*****************************************************************************/
+/* private methods */
+/*****************************************************************************/
+
+static struct XmlSnippet schema_snippets[] = {
+// { "Status", SNIPPET_NODE,
+// G_STRUCT_OFFSET(LassoIdwsf2DiscoQueryResponse, Status) },
+// { "ResourceOffering", SNIPPET_LIST_NODES,
+// G_STRUCT_OFFSET(LassoIdwsf2DiscoQueryResponse, ResourceOffering) },
+// { "Credentials", SNIPPET_NODE,
+// G_STRUCT_OFFSET(LassoIdwsf2DiscoQueryResponse, Credentials) },
+ { "id", SNIPPET_ATTRIBUTE,
+ G_STRUCT_OFFSET(LassoIdwsf2DiscoQueryResponse, id) },
+ { NULL, 0, 0}
+};
+
+static LassoNodeClass *parent_class = NULL;
+
+static void
+insure_namespace(xmlNode *xmlnode, xmlNs *ns)
+{
+ xmlNode *t = xmlnode->children;
+
+ xmlSetNs(xmlnode, ns);
+ while (t) {
+ if (t->type == XML_ELEMENT_NODE && t->ns == NULL)
+ insure_namespace(t, ns);
+ t = t->next;
+ }
+}
+
+static xmlNode*
+get_xmlNode(LassoNode *node, gboolean lasso_dump)
+{
+ xmlNode *xmlnode;
+ xmlNs *ns;
+
+ xmlnode = parent_class->get_xmlNode(node, lasso_dump);
+ ns = xmlNewNs(NULL, (xmlChar*)LASSO_IDWSF2_DISCO_HREF, (xmlChar*)LASSO_IDWSF2_DISCO_PREFIX);
+ insure_namespace(xmlnode, ns);
+
+ return xmlnode;
+}
+
+/*****************************************************************************/
+/* instance and class init functions */
+/*****************************************************************************/
+
+static void
+instance_init(LassoIdwsf2DiscoQueryResponse *node)
+{
+ node->Status = NULL;
+// node->ResourceOffering = NULL;
+// node->Credentials = NULL;
+
+ node->id = NULL;
+}
+
+static void
+class_init(LassoIdwsf2DiscoQueryResponseClass *class)
+{
+ LassoNodeClass *nclass = LASSO_NODE_CLASS(class);
+
+ parent_class = g_type_class_peek_parent(class);
+ nclass->get_xmlNode = get_xmlNode;
+ nclass->node_data = g_new0(LassoNodeClassData, 1);
+ lasso_node_class_set_nodename(nclass, "QueryResponse");
+ lasso_node_class_set_ns(nclass, LASSO_IDWSF2_DISCO_HREF, LASSO_IDWSF2_DISCO_PREFIX);
+ lasso_node_class_add_snippets(nclass, schema_snippets);
+}
+
+GType
+lasso_idwsf2_disco_query_response_get_type()
+{
+ static GType this_type = 0;
+
+ if (!this_type) {
+ static const GTypeInfo this_info = {
+ sizeof (LassoIdwsf2DiscoQueryResponseClass),
+ NULL,
+ NULL,
+ (GClassInitFunc) class_init,
+ NULL,
+ NULL,
+ sizeof(LassoIdwsf2DiscoQueryResponse),
+ 0,
+ (GInstanceInitFunc) instance_init,
+ };
+
+ this_type = g_type_register_static(LASSO_TYPE_NODE,
+ "LassoIdwsf2DiscoQueryResponse", &this_info, 0);
+ }
+ return this_type;
+}
+
+LassoIdwsf2DiscoQueryResponse*
+lasso_idwsf2_disco_query_response_new(LassoUtilityStatus *status)
+{
+ LassoIdwsf2DiscoQueryResponse *node;
+
+ g_return_val_if_fail(LASSO_IS_UTILITY_STATUS(status), NULL);
+
+ node = g_object_new(LASSO_TYPE_IDWSF2_DISCO_QUERY_RESPONSE, NULL);
+
+ node->Status = status;
+
+ return node;
+}
+
+LassoIdwsf2DiscoQueryResponse*
+lasso_idwsf2_disco_query_response_new_from_message(const gchar *message)
+{
+ LassoIdwsf2DiscoQueryResponse *response;
+
+ g_return_val_if_fail(message != NULL, NULL);
+
+ response = g_object_new(LASSO_TYPE_IDWSF2_DISCO_QUERY_RESPONSE, NULL);
+ lasso_node_init_from_message(LASSO_NODE(response), message);
+
+ return response;
+}
diff --git a/lasso/xml/id-wsf-2.0/disco_query_response.h b/lasso/xml/id-wsf-2.0/disco_query_response.h
new file mode 100644
index 00000000..6f13a25e
--- /dev/null
+++ b/lasso/xml/id-wsf-2.0/disco_query_response.h
@@ -0,0 +1,77 @@
+/* $Id: disco_query_response.h,v 1.5 2005/01/22 15:57:55 $
+ *
+ * Lasso - A free implementation of the Liberty Alliance specifications.
+ *
+ * Copyright (C) 2007 Entr'ouvert
+ * http://lasso.entrouvert.org
+ *
+ * Authors: See AUTHORS file in top-level directory.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __LASSO_IDWSF2_DISCO_QUERY_RESPONSE_H__
+#define __LASSO_IDWSF2_DISCO_QUERY_RESPONSE_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#include <lasso/xml/xml.h>
+//#include <lasso/xml/disco_credentials.h>
+#include <lasso/xml/utility_status.h>
+
+#define LASSO_TYPE_IDWSF2_DISCO_QUERY_RESPONSE (lasso_idwsf2_disco_query_response_get_type())
+#define LASSO_IDWSF2_DISCO_QUERY_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), \
+ LASSO_TYPE_IDWSF2_DISCO_QUERY_RESPONSE, LassoIdwsf2DiscoQueryResponse))
+#define LASSO_IDWSF2_DISCO_QUERY_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), \
+ LASSO_TYPE_IDWSF2_DISCO_QUERY_RESPONSE, LassoIdwsf2DiscoQueryResponseClass))
+#define LASSO_IS_IDWSF2_DISCO_QUERY_RESPONSE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), LASSO_TYPE_IDWSF2_DISCO_QUERY_RESPONSE))
+#define LASSO_IS_IDWSF2_DISCO_QUERY_RESPONSE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), LASSO_TYPE_IDWSF2_DISCO_QUERY_RESPONSE))
+#define LASSO_IDWSF2_DISCO_QUERY_RESPONSE_GET_CLASS(o) \
+ (G_TYPE_INSTANCE_GET_CLASS ((o), LASSO_TYPE_IDWSF2_DISCO_QUERY_RESPONSE, \
+ LassoIdwsf2DiscoQueryResponseClass))
+
+typedef struct _LassoIdwsf2DiscoQueryResponse LassoIdwsf2DiscoQueryResponse;
+typedef struct _LassoIdwsf2DiscoQueryResponseClass LassoIdwsf2DiscoQueryResponseClass;
+
+struct _LassoIdwsf2DiscoQueryResponse {
+ LassoNode parent;
+
+ LassoUtilityStatus *Status;
+// GList *ResourceOffering;
+// LassoIdwsf2DiscoCredentials *Credentials;
+
+ char *id;
+};
+
+struct _LassoIdwsf2DiscoQueryResponseClass {
+ LassoNodeClass parent;
+};
+
+LASSO_EXPORT GType lasso_idwsf2_disco_query_response_get_type(void);
+
+LASSO_EXPORT LassoIdwsf2DiscoQueryResponse* lasso_idwsf2_disco_query_response_new(LassoUtilityStatus *status);
+
+LASSO_EXPORT LassoIdwsf2DiscoQueryResponse* lasso_idwsf2_disco_query_response_new_from_message(
+ const gchar *message);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __LASSO_IDWSF2_DISCO_QUERY_RESPONSE_H__ */