Main Page | Data Structures | File List | Data Fields | Globals

timer-loader.c File Reference

#include <glib.h>
#include <dlfcn.h>
#include <stdio.h>
#include "timer-loader.h"
#include "include/timer-interface.h"

Include dependency graph for timer-loader.c:

Go to the source code of this file.

Typedefs

typedef _TimerModule TimerModule
 This file is part of alarmd.

Functions

static gboolean _module_load (TimerModule *mod)
static gint _timer_plugin_compare (gconstpointer lval, gconstpointer rval)
static void _module_free (TimerModule *mod)
static void _module_foreach_free (gpointer mod, gpointer user_data)
GSList * load_timer_plugins (const gchar *path)
 load_timer_plugins: : Directory to load the plugins from.
TimerPlugintimers_get_plugin (GSList *plugins, gboolean need_power_up)
 timers_get_plugin: : List of plugins as returned by load_timer_plugins.
void close_timer_plugins (GSList *plugins)
 close_timer_plugins: : Plugin list as returned by load_timer_plugins.
static void _set_startup (gpointer mod, gpointer user_data)
void timer_plugins_set_startup (GSList *plugins, gboolean is_startup)
 timer_plugins_set_startup: : Plugin list as returned by load_timer_plugins.


Typedef Documentation

typedef struct _TimerModule TimerModule
 

This file is part of alarmd.

Contact Person: David Weinehall <david.weinehall@nokia.com>

Copyright (C) 2006 Nokia Corporation alarmd and libalarm are free software; you can redistribute them and/or modify them under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation.

alarmd and libalarm are distributed in the hope that they 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 software; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Definition at line 32 of file timer-loader.c.


Function Documentation

static void _module_foreach_free gpointer  mod,
gpointer  user_data
[static]
 

Definition at line 148 of file timer-loader.c.

References _module_free().

Referenced by close_timer_plugins().

static void _module_free TimerModule mod  )  [static]
 

Definition at line 171 of file timer-loader.c.

References _TimerModule::loaded, _TimerModule::module_path, _TimerModule::plugin, and _TimerPlugin::plugin_deinit.

Referenced by _module_foreach_free(), and load_timer_plugins().

static gboolean _module_load TimerModule mod  )  [static]
 

Definition at line 187 of file timer-loader.c.

References _TimerModule::loaded, _TimerModule::module_path, and _TimerModule::plugin.

Referenced by load_timer_plugins(), and timers_get_plugin().

static void _set_startup gpointer  mod,
gpointer  user_data
[static]
 

Definition at line 159 of file timer-loader.c.

References _TimerPlugin::is_startup, and _TimerModule::plugin.

Referenced by timer_plugins_set_startup().

static gint _timer_plugin_compare gconstpointer  lval,
gconstpointer  rval
[static]
 

Definition at line 48 of file timer-loader.c.

References _TimerModule::plugin, and _TimerPlugin::priority.

Referenced by load_timer_plugins().

void close_timer_plugins GSList *  plugins  ) 
 

close_timer_plugins: : Plugin list as returned by load_timer_plugins.

Closes all plugins and frees all data.

Definition at line 154 of file timer-loader.c.

References _module_foreach_free().

Referenced by init_queue().

GSList* load_timer_plugins const gchar *  path  ) 
 

load_timer_plugins: : Directory to load the plugins from.

Loads all timer plugins from given directory. Gets the plugin priorities and closes all but the highest priority power up and non power up ones. Returns: List of plugins.

Definition at line 56 of file timer-loader.c.

References _module_free(), _module_load(), _timer_plugin_compare(), _TimerPlugin::can_power_up, _TimerPlugin::get_time, _TimerPlugin::is_startup, _TimerModule::loaded, _TimerModule::module_path, _TimerModule::plugin, _TimerPlugin::plugin_data, _TimerPlugin::plugin_deinit, _TimerPlugin::remove_event, and _TimerPlugin::set_event.

Referenced by init_queue().

void timer_plugins_set_startup GSList *  plugins,
gboolean  is_startup
 

timer_plugins_set_startup: : Plugin list as returned by load_timer_plugins.

: Boolean indicating the startup status of alarmd.

Sets the is_startup field for each plugin.

Definition at line 166 of file timer-loader.c.

References _set_startup().

Referenced by init_queue().

TimerPlugin* timers_get_plugin GSList *  plugins,
gboolean  need_power_up
 

timers_get_plugin: : List of plugins as returned by load_timer_plugins.

: TRUE if the plugin wanted should have the power up functionality.

Gets one plugin (and loads it if necessary) from the list. The one with the highest priority is returned. Returns: The highest priority plugin.

Definition at line 122 of file timer-loader.c.

References _module_load(), _TimerPlugin::can_power_up, and _TimerModule::plugin.

Referenced by init_queue().


Generated on Thu Dec 21 18:23:31 2006 for Alarmd by  doxygen 1.4.2