src/daemon/db/Makefile
src/daemon/dbus/Makefile
src/daemon/dbus/services/com.google.code.AccountsSSO.SingleSignOn.service
+src/extensions/Makefile
+src/extensions/test/Makefile
src/plugins/Makefile
src/plugins/password/Makefile
test/Makefile
typedef struct {
GObject parent_instance;
+ GSignondConfig *config;
/*< private >*/
GSignondSecretStoragePrivate *priv;
-SUBDIRS=common daemon plugins
+SUBDIRS=common daemon extensions plugins
struct _GSignondSecretStoragePrivate
{
GSignondDbSecretDatabase *database;
- GSignondConfig *config;
};
G_DEFINE_TYPE (GSignondSecretStorage, gsignond_secret_storage,
switch (prop_id) {
case PROP_CONFIG:
- g_assert (self->priv->config == NULL);
- self->priv->config = g_value_dup_object (value);
+ g_assert (self->config == NULL);
+ self->config = g_value_dup_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
switch (prop_id) {
case PROP_CONFIG:
- g_value_set_object (value, self->priv->config);
+ g_value_set_object (value, self->config);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
self->priv->database = NULL;
}
- if (self->priv->config) {
- g_object_unref (self->priv->config);
- self->priv->config = NULL;
+ if (self->config) {
+ g_object_unref (self->config);
+ self->config = NULL;
}
/* Chain up to the parent class */
{
self->priv = GSIGNOND_SECRET_STORAGE_GET_PRIVATE (self);
self->priv->database = NULL;
- self->priv->config = NULL;
+ self->config = NULL;
}
gboolean
const GHashTable *config_table = NULL;
g_return_val_if_fail (GSIGNOND_IS_SECRET_STORAGE (self), FALSE);
- g_return_val_if_fail (self->priv->config != NULL, FALSE);
+ g_return_val_if_fail (self->config != NULL, FALSE);
- config_table = gsignond_config_get_config_table(self->priv->config);
+ config_table = gsignond_config_get_config_table(self->config);
g_return_val_if_fail (config_table != NULL, FALSE);
/* TODO: Fix it when config is updated
--- /dev/null
+SUBDIRS = test
--- /dev/null
+lib_LTLIBRARIES = libextension-test.la
+
+libextension_test_la_CPPFLAGS = \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ $(GSIGNOND_CFLAGS)
+
+libextension_test_la_LIBS = \
+ $(GSIGNOND_LIBS)
+
+libextension_test_la_SOURCES = \
+ test-access-control-manager.c \
+ test-extension.c \
+ test-secret-storage.c \
+ test-storage-manager.c
+
--- /dev/null
+/* vi: set et sw=4 ts=4 cino=t0,(0: */
+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of gsignond
+ *
+ * Copyright (C) 2013 Intel Corporation.
+ *
+ * Contact: Jussi Laako <jussi.laako@linux.intel.com>
+ *
+ * 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.1 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., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#include "test-access-control-manager.h"
+
+#define EXTENSION_TEST_ACCESS_CONTROL_MANAGER_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
+ EXTENSION_TYPE_TEST_ACCESS_CONTROL_MANAGER, \
+ ExtensionTestAccessControlManagerPrivate))
+
+struct _ExtensionTestAccessControlManagerPrivate
+{
+};
+
+G_DEFINE_TYPE (ExtensionTestAccessControlManager,
+ extension_test_access_control_manager,
+ GSIGNOND_TYPE_ACCESS_CONTROL_MANAGER);
+
+static void
+extension_test_access_control_manager_class_init (
+ ExtensionTestAccessControlManagerClass *klass)
+{
+ (void) klass;
+
+ /*GObjectClass *base = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (klass,
+ sizeof(ExtensionTestAccessControlManagerPrivate));*/
+}
+
+static void
+extension_test_access_control_manager_init (
+ ExtensionTestAccessControlManager *self)
+{
+ /*self->priv = EXTENSION_TEST_ACCESS_CONTROL_MANAGER_GET_PRIVATE (self);*/
+}
+
--- /dev/null
+/* vi: set et sw=4 ts=4 cino=t0,(0: */
+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of gsignond
+ *
+ * Copyright (C) 2013 Intel Corporation.
+ *
+ * Contact: Jussi Laako <jussi.laako@linux.intel.com>
+ *
+ * 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.1 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., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#ifndef _TEST_ACCESS_CONTROL_MANAGER_H_
+#define _TEST_ACCESS_CONTROL_MANAGER_H_
+
+#include <glib-object.h>
+#include <gsignond/gsignond-extension-interface.h>
+
+G_BEGIN_DECLS
+
+#define EXTENSION_TYPE_TEST_ACCESS_CONTROL_MANAGER \
+ (extension_test_access_control_manager_get_type ())
+#define EXTENSION_TEST_ACCESS_CONTROL_MANAGER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ EXTENSION_TYPE_TEST_ACCESS_CONTROL_MANAGER, \
+ ExtensionTestAccessControlManager))
+#define EXTENSION_IS_TEST_ACCESS_CONTROL_MANAGER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ EXTENSION_TYPE_TEST_ACCESS_CONTROL_MANAGER))
+#define EXTENSION_TEST_ACCESS_CONTROL_MANAGER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), \
+ EXTENSION_TYPE_TEST_ACCESS_CONTROL_MANAGER, \
+ ExtensionTestAccessControlManagerClass))
+#define EXTENSION_IS_TEST_ACCESS_CONTROL_MANAGER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ EXTENSION_TYPE_TEST_ACCESS_CONTROL_MANAGER))
+#define EXTENSION_TEST_ACCESS_CONTROL_MANAGER_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+ EXTENSION_TYPE_TEST_ACCESS_CONTROL_MANAGER, \
+ ExtensionTestAccessControlManagerClass))
+
+typedef struct _ExtensionTestAccessControlManager
+ ExtensionTestAccessControlManager;
+typedef struct _ExtensionTestAccessControlManagerClass
+ ExtensionTestAccessControlManagerClass;
+typedef struct _ExtensionTestAccessControlManagerPrivate
+ ExtensionTestAccessControlManagerPrivate;
+
+struct _ExtensionTestAccessControlManager
+{
+ GSignondAccessControlManager parent_instance;
+ ExtensionTestAccessControlManagerPrivate *priv;
+};
+
+struct _ExtensionTestAccessControlManagerClass
+{
+ GSignondAccessControlManagerClass parent_class;
+};
+
+GType extension_test_access_control_manager_get_type ();
+
+G_END_DECLS
+
+#endif /* _TEST_ACCESS_CONTROL_MANAGER_H_ */
+
static void
extension_test_class_init (ExtensionTestClass *klass)
{
- klass->get_extension_name = _get_extension_name;
- klass->get_extension_version = _get_extension_version;
- klass->get_storage_manager = _get_storage_manager;
- klass->get_secret_storage = _get_secret_storage;
- klass->get_access_control_manager = _get_access_control_manager;
+ GSignondExtensionClass *parent_class = GSIGNOND_EXTENSION_CLASS (klass);
+
+ parent_class->get_extension_name = _get_extension_name;
+ parent_class->get_extension_version = _get_extension_version;
+ parent_class->get_storage_manager = _get_storage_manager;
+ parent_class->get_secret_storage = _get_secret_storage;
+ parent_class->get_access_control_manager = _get_access_control_manager;
}
static void
--- /dev/null
+/* vi: set et sw=4 ts=4 cino=t0,(0: */
+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of gsignond
+ *
+ * Copyright (C) 2013 Intel Corporation.
+ *
+ * Contact: Jussi Laako <jussi.laako@linux.intel.com>
+ *
+ * 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.1 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., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#include "test-secret-storage.h"
+
+#define EXTENSION_TEST_SECRET_STORAGE_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
+ EXTENSION_TYPE_TEST_SECRET_STORAGE, \
+ ExtensionTestSecretStoragePrivate))
+
+struct _ExtensionTestSecretStoragePrivate
+{
+};
+
+G_DEFINE_TYPE (ExtensionTestSecretStorage,
+ extension_test_secret_storage,
+ GSIGNOND_TYPE_SECRET_STORAGE);
+
+static void
+extension_test_secret_storage_class_init (
+ ExtensionTestSecretStorageClass *klass)
+{
+ (void) klass;
+
+ /*GObjectClass *base = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (klass,
+ sizeof(ExtensionTestSecretStoragePrivate));*/
+}
+
+static void
+extension_test_secret_storage_init (ExtensionTestSecretStorage *self)
+{
+ /*self->priv = EXTENSION_TEST_SECRET_STORAGE_GET_PRIVATE (self);*/
+}
+
--- /dev/null
+/* vi: set et sw=4 ts=4 cino=t0,(0: */
+/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of gsignond
+ *
+ * Copyright (C) 2013 Intel Corporation.
+ *
+ * Contact: Jussi Laako <jussi.laako@linux.intel.com>
+ *
+ * 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.1 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., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#ifndef _TEST_SECRET_STORAGE_H_
+#define _TEST_SECRET_STORAGE_H_
+
+#include <glib-object.h>
+#include <gsignond/gsignond-extension-interface.h>
+
+G_BEGIN_DECLS
+
+#define EXTENSION_TYPE_TEST_SECRET_STORAGE \
+ (extension_test_secret_storage_get_type ())
+#define EXTENSION_TEST_SECRET_STORAGE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXTENSION_TYPE_TEST_SECRET_STORAGE, \
+ ExtensionTestSecretStorage))
+#define EXTENSION_IS_TEST_SECRET_STORAGE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXTENSION_TYPE_TEST_SECRET_STORAGE))
+#define EXTENSION_TEST_SECRET_STORAGE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), EXTENSION_TYPE_TEST_SECRET_STORAGE, \
+ ExtensionTestSecretStorageClass))
+#define EXTENSION_IS_TEST_SECRET_STORAGE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), EXTENSION_TYPE_TEST_SECRET_STORAGE))
+#define EXTENSION_TEST_SECRET_STORAGE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), EXTENSION_TYPE_TEST_SECRET_STORAGE, \
+ ExtensionTestSecretStorageClass))
+
+typedef struct _ExtensionTestSecretStorage
+ ExtensionTestSecretStorage;
+typedef struct _ExtensionTestSecretStorageClass
+ ExtensionTestSecretStorageClass;
+typedef struct _ExtensionTestSecretStoragePrivate
+ ExtensionTestSecretStoragePrivate;
+
+struct _ExtensionTestSecretStorage
+{
+ GSignondSecretStorage parent_instance;
+ ExtensionTestSecretStoragePrivate *priv;
+};
+
+struct _ExtensionTestSecretStorageClass
+{
+ GSignondSecretStorageClass parent_class;
+};
+
+GType extension_test_secret_storage_get_type ();
+
+G_END_DECLS
+
+#endif /* _TEST_SECRET_STORAGE_H_ */
+
* 02110-1301 USA
*/
-#include "gsignond/gsignond-storage-manager.h"
+#include "test-storage-manager.h"
#define EXTENSION_TEST_STORAGE_MANAGER_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
{
};
-G_DEFINE_TYPE (ExtensionTestStorageManager, extension_test_storage_manager,
+G_DEFINE_TYPE (ExtensionTestStorageManager,
+ extension_test_storage_manager,
GSIGNOND_TYPE_STORAGE_MANAGER);
static void
-gsignond_storage_manager_class_init (ExtensionTestStorageManagerClass *klass)
+extension_test_storage_manager_class_init (
+ ExtensionTestStorageManagerClass *klass)
{
(void) klass;
}
static void
-gsignond_storage_manager_init (ExtensionTestStorageManager *self)
+extension_test_storage_manager_init (ExtensionTestStorageManager *self)
{
+ GSignondStorageManager *parent;
/*self->priv = EXTENSION_TEST_STORAGE_MANAGER_GET_PRIVATE (self);*/
- self->location = g_strdup (g_getenv ("EXTENSION_TEST_DATADIR"));
- if (!self->location) {
- self->location =
+ parent = GSIGNOND_STORAGE_MANAGER (self);
+ parent->location = g_strdup (g_getenv ("EXTENSION_TEST_DATADIR"));
+ if (!parent->location) {
+ parent->location =
g_build_filename (g_get_tmp_dir (), "gsignond-test");
}
-
- self->config = NULL;
}
* 02110-1301 USA
*/
-#ifndef _TEST_EXTENSION_H_
-#define _TEST_EXTENSION_H_
+#ifndef _TEST_STORAGE_MANAGER_H_
+#define _TEST_STORAGE_MANAGER_H_
#include <glib-object.h>
#include <gsignond/gsignond-extension-interface.h>
#define EXTENSION_TEST_STORAGE_MANAGER(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), EXTENSION_TYPE_TEST_STORAGE_MANAGER, \
ExtensionTestStorageManager))
-#define EXTENSION_IS_TEST(obj) \
+#define EXTENSION_IS_TEST_STORAGE_MANAGER(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), EXTENSION_TYPE_TEST_STORAGE_MANAGER))
#define EXTENSION_TEST_STORAGE_MANAGER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), EXTENSION_TYPE_TEST_STORAGE_MANAGER, \
ExtensionTestStorageManagerClass))
-#define EXTENSION_IS_TEST_CLASS(klass) \
+#define EXTENSION_IS_TEST_STORAGE_MANAGER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), EXTENSION_TYPE_TEST_STORAGE_MANAGER))
#define EXTENSION_TEST_STORAGE_MANAGER_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), EXTENSION_TYPE_TEST_STORAGE_MANAGER, \
G_END_DECLS
-#endif /* _TEST_EXTENSION_H_ */
+#endif /* _TEST_STORAGE_MANAGER_H_ */