/* * Copyright (C) 2014 Michal Ratajsky * * 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 licence, 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, see . */ #include #include #include #include #include "null.h" #define BACKEND_NAME "Null" #define BACKEND_PRIORITY 999 /* Support function for dynamic loading of the backend module */ void backend_module_init (GTypeModule *module); const MateMixerBackendModuleInfo *backend_module_get_info (void); static void mate_mixer_backend_interface_init (MateMixerBackendInterface *iface); G_DEFINE_DYNAMIC_TYPE_EXTENDED (MateMixerNull, mate_mixer_null, G_TYPE_OBJECT, 0, G_IMPLEMENT_INTERFACE_DYNAMIC (MATE_MIXER_TYPE_BACKEND, mate_mixer_backend_interface_init)) static MateMixerBackendModuleInfo info; void backend_module_init (GTypeModule *module) { mate_mixer_null_register_type (module); info.name = BACKEND_NAME; info.priority = BACKEND_PRIORITY; info.g_type = MATE_MIXER_TYPE_NULL; info.backend_type = MATE_MIXER_BACKEND_TYPE_NULL; } const MateMixerBackendModuleInfo * backend_module_get_info (void) { return &info; } static void mate_mixer_backend_interface_init (MateMixerBackendInterface *iface) { iface->open = mate_mixer_null_open; } static void mate_mixer_null_init (MateMixerNull *null) { } static void mate_mixer_null_finalize (GObject *object) { G_OBJECT_CLASS (mate_mixer_null_parent_class)->finalize (object); } static void mate_mixer_null_class_init (MateMixerNullClass *klass) { GObjectClass *object_class; object_class = G_OBJECT_CLASS (klass); object_class->finalize = mate_mixer_null_finalize; } /* Called in the code generated by G_DEFINE_DYNAMIC_TYPE_EXTENDED() */ static void mate_mixer_null_class_finalize (MateMixerNullClass *klass) { } gboolean mate_mixer_null_open (MateMixerBackend *backend) { return TRUE; }