From cb9d4e69751fd1ce1351cb270608f7b58028d2b5 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Tue, 26 Aug 2008 16:40:47 +0100 Subject: add DkpStatsObj convenience helpers --- libdevkit-power/Makefile.am | 2 ++ libdevkit-power/dkp-stats-obj.c | 79 +++++++++++++++++++++++++++++++++++++++++ libdevkit-power/dkp-stats-obj.h | 44 +++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 libdevkit-power/dkp-stats-obj.c create mode 100644 libdevkit-power/dkp-stats-obj.h (limited to 'libdevkit-power') diff --git a/libdevkit-power/Makefile.am b/libdevkit-power/Makefile.am index ea8c61b..1e065ea 100644 --- a/libdevkit-power/Makefile.am +++ b/libdevkit-power/Makefile.am @@ -17,6 +17,8 @@ libdevkit_power_la_SOURCES = \ dkp-client-device.h \ dkp-history-obj.h \ dkp-history-obj.c \ + dkp-stats-obj.h \ + dkp-stats-obj.c \ dkp-enum.c \ dkp-enum.h \ dkp-object.c \ diff --git a/libdevkit-power/dkp-stats-obj.c b/libdevkit-power/dkp-stats-obj.c new file mode 100644 index 0000000..163336b --- /dev/null +++ b/libdevkit-power/dkp-stats-obj.c @@ -0,0 +1,79 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2008 Richard Hughes + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#include +#include +#include +#include + +#include "dkp-debug.h" +#include "dkp-stats-obj.h" + +/** + * dkp_stats_obj_copy: + **/ +DkpStatsObj * +dkp_stats_obj_copy (const DkpStatsObj *cobj) +{ + DkpStatsObj *obj; + obj = g_new0 (DkpStatsObj, 1); + obj->value = cobj->value; + obj->accuracy = cobj->accuracy; + return obj; +} + +/** + * dkp_stats_obj_new: + **/ +DkpStatsObj * +dkp_stats_obj_new (void) +{ + DkpStatsObj *obj; + obj = g_new0 (DkpStatsObj, 1); + obj->value = 0.0f; + obj->accuracy = 0; + return obj; +} + +/** + * dkp_stats_obj_free: + **/ +gboolean +dkp_stats_obj_free (DkpStatsObj *obj) +{ + if (obj == NULL) + return FALSE; + g_free (obj); + return TRUE; +} + +/** + * dkp_stats_obj_create: + **/ +DkpStatsObj * +dkp_stats_obj_create (gdouble value, gdouble state) +{ + DkpStatsObj *obj; + obj = dkp_stats_obj_new (); + obj->value = value; + obj->accuracy = state; + return obj; +} + diff --git a/libdevkit-power/dkp-stats-obj.h b/libdevkit-power/dkp-stats-obj.h new file mode 100644 index 0000000..2334f73 --- /dev/null +++ b/libdevkit-power/dkp-stats-obj.h @@ -0,0 +1,44 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * + * Copyright (C) 2008 Richard Hughes + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#ifndef __DKP_STATS_OBJ_H__ +#define __DKP_STATS_OBJ_H__ + +#include +#include "dkp-enum.h" + +G_BEGIN_DECLS + +typedef struct +{ + gdouble value; + gdouble accuracy; +} DkpStatsObj; + +DkpStatsObj *dkp_stats_obj_new (void); +gboolean dkp_stats_obj_free (DkpStatsObj *obj); +DkpStatsObj *dkp_stats_obj_copy (const DkpStatsObj *cobj); +DkpStatsObj *dkp_stats_obj_create (gdouble value, + gdouble state); + +G_END_DECLS + +#endif /* __DKP_STATS_OBJ_H__ */ + -- cgit v1.2.3