~ubuntu-branches/ubuntu/utopic/lasso/utopic-proposed

« back to all changes in this revision

Viewing changes to lasso/environs/login.h

  • Committer: Bazaar Package Importer
  • Author(s): Frederic Peters
  • Date: 2004-09-13 09:26:34 UTC
  • Revision ID: james.westby@ubuntu.com-20040913092634-01vdfl8j9cp94exa
Tags: upstream-0.4.1
ImportĀ upstreamĀ versionĀ 0.4.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* $Id: login.h,v 1.30 2004/09/06 14:14:26 nclapies Exp $ 
 
2
 *
 
3
 * Lasso - A free implementation of the Liberty Alliance specifications.
 
4
 *
 
5
 * Copyright (C) 2004 Entr'ouvert
 
6
 * http://lasso.entrouvert.org
 
7
 * 
 
8
 * Authors: Nicolas Clapies <nclapies@entrouvert.com>
 
9
 *          Valery Febvre <vfebvre@easter-eggs.com>
 
10
 *
 
11
 * This program is free software; you can redistribute it and/or modify
 
12
 * it under the terms of the GNU General Public License as published by
 
13
 * the Free Software Foundation; either version 2 of the License, or
 
14
 * (at your option) any later version.
 
15
 * 
 
16
 * This program is distributed in the hope that it will be useful,
 
17
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
18
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
19
 * GNU General Public License for more details.
 
20
 * 
 
21
 * You should have received a copy of the GNU General Public License
 
22
 * along with this program; if not, write to the Free Software
 
23
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
24
 */
 
25
 
 
26
#ifndef __LASSO_LOGIN_H__
 
27
#define __LASSO_LOGIN_H__
 
28
 
 
29
#ifdef __cplusplus
 
30
extern "C" {
 
31
 
 
32
#endif /* __cplusplus */ 
 
33
 
 
34
#include <lasso/environs/profile.h>
 
35
 
 
36
#include <lasso/protocols/authn_request.h>
 
37
#include <lasso/protocols/authn_response.h>
 
38
#include <lasso/protocols/request.h>
 
39
#include <lasso/protocols/response.h>
 
40
 
 
41
#define LASSO_TYPE_LOGIN (lasso_login_get_type())
 
42
#define LASSO_LOGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), LASSO_TYPE_LOGIN, LassoLogin))
 
43
#define LASSO_LOGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), LASSO_TYPE_LOGIN, LassoLoginClass))
 
44
#define LASSO_IS_LOGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), LASSO_TYPE_LOGIN))
 
45
#define LASSO_IS_LOGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LASSO_TYPE_LOGIN))
 
46
#define LASSO_LOGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), LASSO_TYPE_LOGIN, LassoLoginClass)) 
 
47
 
 
48
typedef struct _LassoLogin LassoLogin;
 
49
typedef struct _LassoLoginClass LassoLoginClass;
 
50
typedef struct _LassoLoginPrivate LassoLoginPrivate;
 
51
 
 
52
typedef enum {
 
53
  lassoLoginProtocolProfileBrwsArt = 1,
 
54
  lassoLoginProtocolProfileBrwsPost,
 
55
} lassoLoginProtocolProfile;
 
56
 
 
57
struct _LassoLogin {
 
58
  LassoProfile parent;
 
59
  /*< public >*/
 
60
  lassoLoginProtocolProfile protocolProfile;
 
61
 
 
62
  gchar     *assertionArtifact;
 
63
  gchar     *response_dump;
 
64
  LassoNode *assertion;
 
65
 
 
66
  /*< private >*/
 
67
  lassoHttpMethod http_method;
 
68
  LassoLoginPrivate *private;
 
69
};
 
70
 
 
71
struct _LassoLoginClass {
 
72
  LassoProfileClass parent;
 
73
};
 
74
 
 
75
LASSO_EXPORT GType       lasso_login_get_type                    (void);
 
76
 
 
77
LASSO_EXPORT LassoLogin* lasso_login_new                         (LassoServer *server);
 
78
 
 
79
LASSO_EXPORT LassoLogin* lasso_login_new_from_dump               (LassoServer *server,
 
80
                                                                  gchar       *dump);
 
81
 
 
82
LASSO_EXPORT gint        lasso_login_accept_sso                  (LassoLogin *login);
 
83
 
 
84
LASSO_EXPORT gint        lasso_login_build_artifact_msg          (LassoLogin      *login,
 
85
                                                                  gboolean         authentication_result,
 
86
                                                                  const gchar     *authenticationMethod,
 
87
                                                                  const gchar     *reauthenticateOnOrAfter,
 
88
                                                                  lassoHttpMethod  http_method);
 
89
 
 
90
LASSO_EXPORT gint        lasso_login_build_authn_request_msg     (LassoLogin      *login,
 
91
                                                                  const gchar     *remote_providerID);
 
92
 
 
93
LASSO_EXPORT gint        lasso_login_build_authn_response_msg    (LassoLogin  *login,
 
94
                                                                  gboolean     authentication_result,
 
95
                                                                  const gchar *authenticationMethod,
 
96
                                                                  const gchar *reauthenticateOnOrAfter);
 
97
 
 
98
LASSO_EXPORT gint        lasso_login_build_request_msg           (LassoLogin *login);
 
99
 
 
100
LASSO_EXPORT gint        lasso_login_build_response_msg          (LassoLogin *login);
 
101
 
 
102
LASSO_EXPORT void        lasso_login_destroy                     (LassoLogin *login);
 
103
 
 
104
LASSO_EXPORT gchar*      lasso_login_dump                        (LassoLogin *login);
 
105
 
 
106
LASSO_EXPORT LassoAssertion* lasso_login_get_assertion             (LassoLogin *login);
 
107
 
 
108
LASSO_EXPORT gint        lasso_login_init_authn_request          (LassoLogin      *login,
 
109
                                                                  lassoHttpMethod  http_method);
 
110
 
 
111
LASSO_EXPORT gint        lasso_login_init_from_authn_request_msg (LassoLogin      *login,
 
112
                                                                  gchar           *authn_request_msg,
 
113
                                                                  lassoHttpMethod  authn_request_http_method);
 
114
 
 
115
LASSO_EXPORT gint        lasso_login_init_request                (LassoLogin      *login,
 
116
                                                                  gchar           *response_msg,
 
117
                                                                  lassoHttpMethod  response_http_method);
 
118
 
 
119
LASSO_EXPORT gboolean    lasso_login_must_authenticate           (LassoLogin *login);
 
120
 
 
121
LASSO_EXPORT gint        lasso_login_process_authn_response_msg  (LassoLogin *login,
 
122
                                                                  gchar      *authn_response_msg);
 
123
 
 
124
LASSO_EXPORT gint        lasso_login_process_request_msg         (LassoLogin *login,
 
125
                                                                  gchar      *request_msg);
 
126
 
 
127
LASSO_EXPORT gint        lasso_login_process_response_msg        (LassoLogin  *login,
 
128
                                                                  gchar       *response_msg);
 
129
 
 
130
LASSO_EXPORT gint        lasso_login_set_assertion              (LassoLogin     *login,
 
131
                                                                 LassoAssertion *assertion);
 
132
 
 
133
LASSO_EXPORT gint        lasso_login_set_assertion_from_dump    (LassoLogin *login,
 
134
                                                                 gchar      *assertion_dump);
 
135
 
 
136
#ifdef __cplusplus
 
137
}
 
138
#endif /* __cplusplus */
 
139
 
 
140
#endif /* __LASSO_LOGIN_H__ */