1
/* $Id: lib_federation_termination_notification.h,v 1.2 2004/07/22 06:59:02 eraviart Exp $
1
/* $Id: lib_federation_termination_notification.h,v 1.13 2005/01/22 15:57:55 eraviart Exp $
3
3
* Lasso - A free implementation of the Liberty Alliance specifications.
5
* Copyright (C) 2004 Entr'ouvert
5
* Copyright (C) 2004, 2005 Entr'ouvert
6
6
* http://lasso.entrouvert.org
8
* Authors: Nicolas Clapies <nclapies@entrouvert.com>
9
* Valery Febvre <vfebvre@easter-eggs.com>
8
* Authors: See AUTHORS file in top-level directory.
11
10
* This program is free software; you can redistribute it and/or modify
12
11
* it under the terms of the GNU General Public License as published by
33
32
#include <lasso/xml/saml_name_identifier.h>
34
33
#include <lasso/xml/samlp_request_abstract.h>
36
#define LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION (lasso_lib_federation_termination_notification_get_type())
37
#define LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION, LassoLibFederationTerminationNotification))
38
#define LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION, LassoLibFederationTerminationNotificationClass))
39
#define LASSO_IS_LIB_FEDERATION_TERMINATION_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION))
40
#define LASSO_IS_LIB_FEDERATION_TERMINATION_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION))
41
#define LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION, LassoLibFederationTerminationNotificationClass))
35
#define LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION \
36
(lasso_lib_federation_termination_notification_get_type())
37
#define LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(obj) \
38
(G_TYPE_CHECK_INSTANCE_CAST((obj), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION, \
39
LassoLibFederationTerminationNotification))
40
#define LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION_CLASS(klass) \
41
(G_TYPE_CHECK_CLASS_CAST((klass), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION, \
42
LassoLibFederationTerminationNotificationClass))
43
#define LASSO_IS_LIB_FEDERATION_TERMINATION_NOTIFICATION(obj) \
44
(G_TYPE_CHECK_INSTANCE_TYPE((obj), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION))
45
#define LASSO_IS_LIB_FEDERATION_TERMINATION_NOTIFICATION_CLASS(klass) \
46
(G_TYPE_CHECK_CLASS_TYPE ((klass), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION))
47
#define LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION_GET_CLASS(o) \
48
(G_TYPE_INSTANCE_GET_CLASS ((o), LASSO_TYPE_LIB_FEDERATION_TERMINATION_NOTIFICATION, \
49
LassoLibFederationTerminationNotificationClass))
43
typedef struct _LassoLibFederationTerminationNotification LassoLibFederationTerminationNotification;
44
typedef struct _LassoLibFederationTerminationNotificationClass LassoLibFederationTerminationNotificationClass;
51
typedef struct _LassoLibFederationTerminationNotification \
52
LassoLibFederationTerminationNotification;
53
typedef struct _LassoLibFederationTerminationNotificationClass \
54
LassoLibFederationTerminationNotificationClass;
46
56
struct _LassoLibFederationTerminationNotification {
47
LassoSamlpRequestAbstract parent;
57
LassoSamlpRequestAbstract parent;
60
/* <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/> */
62
/* <xs:element ref="ProviderID"/> */
64
/* <xs:element ref="saml:NameIdentifier"/> */
65
LassoSamlNameIdentifier *NameIdentifier;
66
/* <xs:attribute ref="consent" use="optional"/> */
69
char *RelayState; /* not in schema but allowed in redirects */
51
72
struct _LassoLibFederationTerminationNotificationClass {
52
LassoSamlpRequestAbstractClass parent;
73
LassoSamlpRequestAbstractClass parent;
55
76
LASSO_EXPORT GType lasso_lib_federation_termination_notification_get_type(void);
56
LASSO_EXPORT LassoNode* lasso_lib_federation_termination_notification_new(void);
58
LASSO_EXPORT void lasso_lib_federation_termination_notification_set_consent (LassoLibFederationTerminationNotification *,
61
LASSO_EXPORT void lasso_lib_federation_termination_notification_set_providerID (LassoLibFederationTerminationNotification *,
64
LASSO_EXPORT void lasso_lib_federation_termination_notification_set_nameIdentifier (LassoLibFederationTerminationNotification *,
65
LassoSamlNameIdentifier *);
77
LASSO_EXPORT LassoSamlpRequestAbstract* lasso_lib_federation_termination_notification_new(void);
78
LASSO_EXPORT LassoSamlpRequestAbstract* lasso_lib_federation_termination_notification_new_full(
79
char *providerID, LassoSamlNameIdentifier *nameIdentifier,
80
LassoSignatureType sign_type, LassoSignatureMethod sign_method);