From c82094c9e17afef41e49cff3eabdbdd0f6ca3a21 Mon Sep 17 00:00:00 2001 From: ticktock35 Date: Sun, 14 Dec 2008 23:21:07 -0500 Subject: opkg: add internal state framework git-svn-id: http://opkg.googlecode.com/svn/trunk@26 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- (limited to 'opkg_state.c') diff --git a/opkg_state.c b/opkg_state.c new file mode 100644 index 0000000..ded9683 --- /dev/null +++ b/opkg_state.c @@ -0,0 +1,41 @@ +/* opkg_state.c - the opkg package management system + + Thomas Wood + + Copyright (C) 2008 by OpenMoko Inc + + 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, 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. +*/ + +#include "libopkg.h" + +opkg_state_changed_callback opkg_cb_state; + +static opkg_state_t opkg_state = 0; +static char *opkg_state_data = NULL; + +void +opkg_set_current_state (opkg_state_t state, const char *data) +{ + if (opkg_state_data) + free (opkg_state_data); + opkg_state_data = malloc (strlen (data)); + strcpy (opkg_state_data, data); + + opkg_state = state; +} + +void +opkg_get_current_state (opkg_state_t *state, const char **data) +{ + *state = opkg_state; + *data = opkg_state_data; +} -- cgit v0.9.1