/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details: * * Copyright (C) 2011 Aleksander Morgado */ #include #include #include #include "mm-plugin-manager.h" static void initable_iface_init (GInitableIface *iface); G_DEFINE_TYPE_EXTENDED (MMPluginManager, mm_plugin_manager, G_TYPE_OBJECT, 0, G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init)); struct _MMPluginManagerPrivate { gpointer dummy; }; MMPluginManager * mm_plugin_manager_new (GError **error) { return g_initable_new (MM_TYPE_PLUGIN_MANAGER, NULL, error, NULL); } static void mm_plugin_manager_init (MMPluginManager *manager) { /* Initialize opaque pointer to private data */ manager->priv = G_TYPE_INSTANCE_GET_PRIVATE (manager, MM_TYPE_PLUGIN_MANAGER, MMPluginManagerPrivate); } static gboolean initable_init (GInitable *initable, GCancellable *cancellable, GError **error) { return TRUE; } static void finalize (GObject *object) { G_OBJECT_CLASS (mm_plugin_manager_parent_class)->finalize (object); } static void initable_iface_init (GInitableIface *iface) { iface->init = initable_init; } static void mm_plugin_manager_class_init (MMPluginManagerClass *manager_class) { GObjectClass *object_class = G_OBJECT_CLASS (manager_class); g_type_class_add_private (object_class, sizeof (MMPluginManagerPrivate)); /* Virtual methods */ object_class->finalize = finalize; }