diff options
author | David Zeuthen <davidz@redhat.com> | 2010-05-06 14:13:59 -0400 |
---|---|---|
committer | David Zeuthen <davidz@redhat.com> | 2010-05-06 14:21:32 -0400 |
commit | d0a14469d09d5fe23de219ba293fd4a266b02ced (patch) | |
tree | 0a2e2f1d566ff0f0ceb1d3ebe9f9cf6cd5263ab9 /gio/gdbusauth.h | |
parent | 81e98c399e11d7621c91ff2911ef4f92c7a382e5 (diff) | |
download | glib-d0a14469d09d5fe23de219ba293fd4a266b02ced.tar.gz |
Initial GDBus code-drop from GDBus-standalone repo
Things compile and the test-suite passes. Still need to hook up
gio.symbols and docs. There are still a bunch of TODOs left in the
sources that needs to be addressed.
Signed-off-by: David Zeuthen <davidz@redhat.com>
Diffstat (limited to 'gio/gdbusauth.h')
-rw-r--r-- | gio/gdbusauth.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/gio/gdbusauth.h b/gio/gdbusauth.h new file mode 100644 index 000000000..2fc750017 --- /dev/null +++ b/gio/gdbusauth.h @@ -0,0 +1,86 @@ +/* GDBus - GLib D-Bus Library + * + * Copyright (C) 2008-2009 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307, USA. + * + * Author: David Zeuthen <davidz@redhat.com> + */ + +#if !defined (GIO_COMPILATION) +#error "gdbusauth.h is a private header file." +#endif + +#ifndef __G_DBUS_AUTH_H__ +#define __G_DBUS_AUTH_H__ + +#include <gio/giotypes.h> + +G_BEGIN_DECLS + +#define G_TYPE_DBUS_AUTH (_g_dbus_auth_get_type ()) +#define G_DBUS_AUTH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_AUTH, GDBusAuth)) +#define G_DBUS_AUTH_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_AUTH, GDBusAuthClass)) +#define G_DBUS_AUTH_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_AUTH, GDBusAuthClass)) +#define G_IS_DBUS_AUTH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_AUTH)) +#define G_IS_DBUS_AUTH_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_AUTH)) + +typedef struct _GDBusAuth GDBusAuth; +typedef struct _GDBusAuthClass GDBusAuthClass; +typedef struct _GDBusAuthPrivate GDBusAuthPrivate; + +struct _GDBusAuthClass +{ + /*< private >*/ + GObjectClass parent_class; +}; + +struct _GDBusAuth +{ + GObject parent_instance; + GDBusAuthPrivate *priv; +}; + +GType _g_dbus_auth_get_type (void) G_GNUC_CONST; +GDBusAuth *_g_dbus_auth_new (GIOStream *stream); + +/* TODO: need a way to set allowed authentication mechanisms */ + +/* TODO: need a way to convey credentials etc. */ + +/* TODO: need a way to convey negotiated features (e.g. returning flags from e.g. GDBusConnectionFeatures) */ + +/* TODO: need to expose encode()/decode() from the AuthMechanism (and whether it is needed at all) */ + +gboolean _g_dbus_auth_run_server (GDBusAuth *auth, + GDBusAuthObserver *observer, + const gchar *guid, + gboolean allow_anonymous, + GDBusCapabilityFlags offered_capabilities, + GDBusCapabilityFlags *out_negotiated_capabilities, + GCredentials **out_received_credentials, + GCancellable *cancellable, + GError **error); + +gchar *_g_dbus_auth_run_client (GDBusAuth *auth, + GDBusCapabilityFlags offered_capabilities, + GDBusCapabilityFlags *out_negotiated_capabilities, + GCancellable *cancellable, + GError **error); + +G_END_DECLS + +#endif /* __G_DBUS_AUTH_H__ */ |