Blame src/goaidentity/goaidentitymanager.c

Packit Service c6b9b0
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
Packit Service c6b9b0
/*
Packit Service c6b9b0
 * Copyright © 2012 – 2017 Red Hat, Inc.
Packit Service c6b9b0
 *
Packit Service c6b9b0
 * This library is free software; you can redistribute it and/or
Packit Service c6b9b0
 * modify it under the terms of the GNU Lesser General Public
Packit Service c6b9b0
 * License as published by the Free Software Foundation; either
Packit Service c6b9b0
 * version 2 of the License, or (at your option) any later version.
Packit Service c6b9b0
 *
Packit Service c6b9b0
 * This library is distributed in the hope that it will be useful,
Packit Service c6b9b0
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service c6b9b0
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service c6b9b0
 * Lesser General Public License for more details.
Packit Service c6b9b0
 *
Packit Service c6b9b0
 * You should have received a copy of the GNU Lesser General
Packit Service c6b9b0
 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
Packit Service c6b9b0
 */
Packit Service c6b9b0
Packit Service c6b9b0
#include "config.h"
Packit Service c6b9b0
Packit Service c6b9b0
#include <glib-object.h>
Packit Service c6b9b0
#include <glib/gi18n.h>
Packit Service c6b9b0
#include <gio/gio.h>
Packit Service c6b9b0
Packit Service c6b9b0
#include "goaidentitymanager.h"
Packit Service c6b9b0
#include "goaidentitymanagerprivate.h"
Packit Service c6b9b0
Packit Service c6b9b0
enum
Packit Service c6b9b0
{
Packit Service c6b9b0
  IDENTITY_ADDED,
Packit Service c6b9b0
  IDENTITY_REMOVED,
Packit Service c6b9b0
  IDENTITY_RENAMED,
Packit Service c6b9b0
  IDENTITY_REFRESHED,
Packit Service c6b9b0
  IDENTITY_NEEDS_RENEWAL,
Packit Service c6b9b0
  IDENTITY_EXPIRING,
Packit Service c6b9b0
  IDENTITY_EXPIRED,
Packit Service c6b9b0
  NUMBER_OF_SIGNALS,
Packit Service c6b9b0
};
Packit Service c6b9b0
Packit Service c6b9b0
static guint signals[NUMBER_OF_SIGNALS] = { 0 };
Packit Service c6b9b0
Packit Service c6b9b0
G_DEFINE_INTERFACE (GoaIdentityManager, goa_identity_manager, G_TYPE_OBJECT);
Packit Service c6b9b0
Packit Service c6b9b0
static void
Packit Service c6b9b0
goa_identity_manager_default_init (GoaIdentityManagerInterface *interface)
Packit Service c6b9b0
{
Packit Service c6b9b0
  signals[IDENTITY_ADDED] = g_signal_new ("identity-added",
Packit Service c6b9b0
                                          G_TYPE_FROM_INTERFACE (interface),
Packit Service c6b9b0
                                          G_SIGNAL_RUN_LAST,
Packit Service c6b9b0
                                          G_STRUCT_OFFSET
Packit Service c6b9b0
                                          (GoaIdentityManagerInterface,
Packit Service c6b9b0
                                           identity_added), NULL, NULL, NULL,
Packit Service c6b9b0
                                          G_TYPE_NONE, 1, GOA_TYPE_IDENTITY);
Packit Service c6b9b0
  signals[IDENTITY_REMOVED] = g_signal_new ("identity-removed",
Packit Service c6b9b0
                                            G_TYPE_FROM_INTERFACE (interface),
Packit Service c6b9b0
                                            G_SIGNAL_RUN_LAST,
Packit Service c6b9b0
                                            G_STRUCT_OFFSET (GoaIdentityManagerInterface,
Packit Service c6b9b0
                                                             identity_removed),
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            G_TYPE_NONE,
Packit Service c6b9b0
                                            1,
Packit Service c6b9b0
                                            GOA_TYPE_IDENTITY);
Packit Service c6b9b0
  signals[IDENTITY_REFRESHED] = g_signal_new ("identity-refreshed",
Packit Service c6b9b0
                                              G_TYPE_FROM_INTERFACE (interface),
Packit Service c6b9b0
                                              G_SIGNAL_RUN_LAST,
Packit Service c6b9b0
                                              G_STRUCT_OFFSET (GoaIdentityManagerInterface,
Packit Service c6b9b0
                                                               identity_refreshed),
Packit Service c6b9b0
                                              NULL,
Packit Service c6b9b0
                                              NULL,
Packit Service c6b9b0
                                              NULL,
Packit Service c6b9b0
                                              G_TYPE_NONE,
Packit Service c6b9b0
                                              1,
Packit Service c6b9b0
                                              GOA_TYPE_IDENTITY);
Packit Service c6b9b0
  signals[IDENTITY_RENAMED] = g_signal_new ("identity-renamed",
Packit Service c6b9b0
                                            G_TYPE_FROM_INTERFACE (interface),
Packit Service c6b9b0
                                            G_SIGNAL_RUN_LAST,
Packit Service c6b9b0
                                            G_STRUCT_OFFSET (GoaIdentityManagerInterface,
Packit Service c6b9b0
                                                             identity_renamed),
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            G_TYPE_NONE,
Packit Service c6b9b0
                                            1,
Packit Service c6b9b0
                                            GOA_TYPE_IDENTITY);
Packit Service c6b9b0
  signals[IDENTITY_NEEDS_RENEWAL] = g_signal_new ("identity-needs-renewal",
Packit Service c6b9b0
                                                  G_TYPE_FROM_INTERFACE (interface),
Packit Service c6b9b0
                                                  G_SIGNAL_RUN_LAST,
Packit Service c6b9b0
                                                  G_STRUCT_OFFSET (GoaIdentityManagerInterface,
Packit Service c6b9b0
                                                                   identity_needs_renewal),
Packit Service c6b9b0
                                                  NULL,
Packit Service c6b9b0
                                                  NULL,
Packit Service c6b9b0
                                                  NULL,
Packit Service c6b9b0
                                                  G_TYPE_NONE,
Packit Service c6b9b0
                                                  1,
Packit Service c6b9b0
                                                  GOA_TYPE_IDENTITY);
Packit Service c6b9b0
  signals[IDENTITY_EXPIRING] = g_signal_new ("identity-expiring",
Packit Service c6b9b0
                                             G_TYPE_FROM_INTERFACE (interface),
Packit Service c6b9b0
                                             G_SIGNAL_RUN_LAST,
Packit Service c6b9b0
                                             G_STRUCT_OFFSET (GoaIdentityManagerInterface,
Packit Service c6b9b0
                                                              identity_expiring),
Packit Service c6b9b0
                                             NULL,
Packit Service c6b9b0
                                             NULL,
Packit Service c6b9b0
                                             NULL,
Packit Service c6b9b0
                                             G_TYPE_NONE,
Packit Service c6b9b0
                                             1,
Packit Service c6b9b0
                                             GOA_TYPE_IDENTITY);
Packit Service c6b9b0
  signals[IDENTITY_EXPIRED] = g_signal_new ("identity-expired",
Packit Service c6b9b0
                                            G_TYPE_FROM_INTERFACE (interface),
Packit Service c6b9b0
                                            G_SIGNAL_RUN_LAST,
Packit Service c6b9b0
                                            G_STRUCT_OFFSET (GoaIdentityManagerInterface,
Packit Service c6b9b0
                                                             identity_expired),
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            NULL,
Packit Service c6b9b0
                                            G_TYPE_NONE,
Packit Service c6b9b0
                                            1,
Packit Service c6b9b0
                                            GOA_TYPE_IDENTITY);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_identity_manager_get_identity (GoaIdentityManager  *self,
Packit Service c6b9b0
                                   const char          *identifier,
Packit Service c6b9b0
                                   GCancellable        *cancellable,
Packit Service c6b9b0
                                   GAsyncReadyCallback  callback,
Packit Service c6b9b0
                                   gpointer             user_data)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GOA_IDENTITY_MANAGER_GET_IFACE (self)->get_identity (self,
Packit Service c6b9b0
                                                       identifier,
Packit Service c6b9b0
                                                       cancellable,
Packit Service c6b9b0
                                                       callback,
Packit Service c6b9b0
                                                       user_data);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
GoaIdentity *
Packit Service c6b9b0
goa_identity_manager_get_identity_finish (GoaIdentityManager  *self,
Packit Service c6b9b0
                                          GAsyncResult        *result,
Packit Service c6b9b0
                                          GError             **error)
Packit Service c6b9b0
{
Packit Service c6b9b0
  return GOA_IDENTITY_MANAGER_GET_IFACE (self)->get_identity_finish (self,
Packit Service c6b9b0
                                                                     result,
Packit Service c6b9b0
                                                                     error);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_identity_manager_list_identities (GoaIdentityManager  *self,
Packit Service c6b9b0
                                      GCancellable        *cancellable,
Packit Service c6b9b0
                                      GAsyncReadyCallback  callback,
Packit Service c6b9b0
                                      gpointer             user_data)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GOA_IDENTITY_MANAGER_GET_IFACE (self)->list_identities (self,
Packit Service c6b9b0
                                                          cancellable,
Packit Service c6b9b0
                                                          callback,
Packit Service c6b9b0
                                                          user_data);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
GList *
Packit Service c6b9b0
goa_identity_manager_list_identities_finish (GoaIdentityManager  *self,
Packit Service c6b9b0
                                             GAsyncResult        *result,
Packit Service c6b9b0
                                             GError             **error)
Packit Service c6b9b0
{
Packit Service c6b9b0
  return GOA_IDENTITY_MANAGER_GET_IFACE (self)->list_identities_finish (self,
Packit Service c6b9b0
                                                                        result,
Packit Service c6b9b0
                                                                        error);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_identity_manager_renew_identity (GoaIdentityManager  *self,
Packit Service c6b9b0
                                     GoaIdentity         *identity,
Packit Service c6b9b0
                                     GCancellable        *cancellable,
Packit Service c6b9b0
                                     GAsyncReadyCallback  callback,
Packit Service c6b9b0
                                     gpointer             user_data)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GOA_IDENTITY_MANAGER_GET_IFACE (self)->renew_identity (self,
Packit Service c6b9b0
                                                         identity,
Packit Service c6b9b0
                                                         cancellable,
Packit Service c6b9b0
                                                         callback,
Packit Service c6b9b0
                                                         user_data);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_identity_manager_renew_identity_finish (GoaIdentityManager  *self,
Packit Service c6b9b0
                                            GAsyncResult        *result,
Packit Service c6b9b0
                                            GError             **error)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GOA_IDENTITY_MANAGER_GET_IFACE (self)->renew_identity_finish (self, result, error);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_identity_manager_sign_identity_in (GoaIdentityManager     *self,
Packit Service c6b9b0
                                       const char             *identifier,
Packit Service c6b9b0
                                       gconstpointer           initial_password,
Packit Service c6b9b0
                                       const char             *preauth_source,
Packit Service c6b9b0
                                       GoaIdentitySignInFlags  flags,
Packit Service c6b9b0
                                       GoaIdentityInquiryFunc  inquiry_func,
Packit Service c6b9b0
                                       gpointer                inquiry_data,
Packit Service c6b9b0
                                       GCancellable           *cancellable,
Packit Service c6b9b0
                                       GAsyncReadyCallback     callback,
Packit Service c6b9b0
                                       gpointer                user_data)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GOA_IDENTITY_MANAGER_GET_IFACE (self)->sign_identity_in (self,
Packit Service c6b9b0
                                                           identifier,
Packit Service c6b9b0
                                                           initial_password,
Packit Service c6b9b0
                                                           preauth_source,
Packit Service c6b9b0
                                                           flags,
Packit Service c6b9b0
                                                           inquiry_func,
Packit Service c6b9b0
                                                           inquiry_data,
Packit Service c6b9b0
                                                           cancellable,
Packit Service c6b9b0
                                                           callback,
Packit Service c6b9b0
                                                           user_data);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
GoaIdentity *
Packit Service c6b9b0
goa_identity_manager_sign_identity_in_finish (GoaIdentityManager  *self,
Packit Service c6b9b0
                                              GAsyncResult        *result,
Packit Service c6b9b0
                                              GError             **error)
Packit Service c6b9b0
{
Packit Service c6b9b0
  return GOA_IDENTITY_MANAGER_GET_IFACE (self)->sign_identity_in_finish (self,
Packit Service c6b9b0
                                                                         result,
Packit Service c6b9b0
                                                                         error);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_identity_manager_sign_identity_out (GoaIdentityManager  *self,
Packit Service c6b9b0
                                        GoaIdentity         *identity,
Packit Service c6b9b0
                                        GCancellable        *cancellable,
Packit Service c6b9b0
                                        GAsyncReadyCallback  callback,
Packit Service c6b9b0
                                        gpointer             user_data)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GOA_IDENTITY_MANAGER_GET_IFACE (self)->sign_identity_out (self,
Packit Service c6b9b0
                                                            identity,
Packit Service c6b9b0
                                                            cancellable,
Packit Service c6b9b0
                                                            callback,
Packit Service c6b9b0
                                                            user_data);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
goa_identity_manager_sign_identity_out_finish (GoaIdentityManager  *self,
Packit Service c6b9b0
                                               GAsyncResult        *result,
Packit Service c6b9b0
                                               GError             **error)
Packit Service c6b9b0
{
Packit Service c6b9b0
  GOA_IDENTITY_MANAGER_GET_IFACE (self)->sign_identity_out_finish (self,
Packit Service c6b9b0
                                                                   result,
Packit Service c6b9b0
                                                                   error);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
char *
Packit Service c6b9b0
goa_identity_manager_name_identity (GoaIdentityManager *self,
Packit Service c6b9b0
                                    GoaIdentity *identity)
Packit Service c6b9b0
{
Packit Service c6b9b0
  return GOA_IDENTITY_MANAGER_GET_IFACE (self)->name_identity (self, identity);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
_goa_identity_manager_emit_identity_added (GoaIdentityManager *self,
Packit Service c6b9b0
                                           GoaIdentity        *identity)
Packit Service c6b9b0
{
Packit Service c6b9b0
  g_signal_emit (G_OBJECT (self), signals[IDENTITY_ADDED], 0, identity);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
_goa_identity_manager_emit_identity_removed (GoaIdentityManager *self,
Packit Service c6b9b0
                                             GoaIdentity        *identity)
Packit Service c6b9b0
{
Packit Service c6b9b0
  g_signal_emit (G_OBJECT (self), signals[IDENTITY_REMOVED], 0, identity);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
_goa_identity_manager_emit_identity_renamed (GoaIdentityManager *self,
Packit Service c6b9b0
                                             GoaIdentity        *identity)
Packit Service c6b9b0
{
Packit Service c6b9b0
  g_signal_emit (G_OBJECT (self), signals[IDENTITY_RENAMED], 0, identity);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
_goa_identity_manager_emit_identity_refreshed (GoaIdentityManager *self,
Packit Service c6b9b0
                                               GoaIdentity        *identity)
Packit Service c6b9b0
{
Packit Service c6b9b0
  g_signal_emit (G_OBJECT (self), signals[IDENTITY_REFRESHED], 0, identity);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
_goa_identity_manager_emit_identity_needs_renewal (GoaIdentityManager *self,
Packit Service c6b9b0
                                                   GoaIdentity        *identity)
Packit Service c6b9b0
{
Packit Service c6b9b0
  g_signal_emit (G_OBJECT (self), signals[IDENTITY_NEEDS_RENEWAL], 0, identity);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
_goa_identity_manager_emit_identity_expiring (GoaIdentityManager *self,
Packit Service c6b9b0
                                              GoaIdentity        *identity)
Packit Service c6b9b0
{
Packit Service c6b9b0
  g_signal_emit (G_OBJECT (self), signals[IDENTITY_EXPIRING], 0, identity);
Packit Service c6b9b0
}
Packit Service c6b9b0
Packit Service c6b9b0
void
Packit Service c6b9b0
_goa_identity_manager_emit_identity_expired (GoaIdentityManager *self,
Packit Service c6b9b0
                                             GoaIdentity        *identity)
Packit Service c6b9b0
{
Packit Service c6b9b0
  g_signal_emit (G_OBJECT (self), signals[IDENTITY_EXPIRED], 0, identity);
Packit Service c6b9b0
}