| 
									
										
										
										
											2010-05-06 14:13:59 -04:00
										 |  |  | /* GDBus - GLib D-Bus Library
 | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2010-05-09 13:14:55 -04:00
										 |  |  |  * Copyright (C) 2008-2010 Red Hat, Inc. | 
					
						
							| 
									
										
										
										
											2010-05-06 14:13:59 -04:00
										 |  |  |  * | 
					
						
							|  |  |  |  * 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 | 
					
						
							| 
									
										
										
										
											2014-01-23 12:58:29 +01:00
										 |  |  |  * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
 | 
					
						
							| 
									
										
										
										
											2010-05-06 14:13:59 -04:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Author: David Zeuthen <davidz@redhat.com> | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-27 23:43:14 -05:00
										 |  |  | #ifndef __G_DBUS_AUTH_H__
 | 
					
						
							|  |  |  | #define __G_DBUS_AUTH_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-06 14:13:59 -04:00
										 |  |  | #if !defined (GIO_COMPILATION)
 | 
					
						
							|  |  |  | #error "gdbusauth.h is a private header file."
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #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, | 
					
						
							| 
									
										
										
										
											2012-04-11 23:30:48 -04:00
										 |  |  |                                      GDBusAuthObserver     *observer, | 
					
						
							| 
									
										
										
										
											2010-05-06 14:13:59 -04:00
										 |  |  |                                      GDBusCapabilityFlags offered_capabilities, | 
					
						
							|  |  |  |                                      GDBusCapabilityFlags *out_negotiated_capabilities, | 
					
						
							|  |  |  |                                      GCancellable  *cancellable, | 
					
						
							|  |  |  |                                      GError       **error); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | G_END_DECLS | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __G_DBUS_AUTH_H__ */
 |