4
* Copyright 2012-2013 Alex <alex@linuxonly.ru>
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 3 of the License, or
9
* (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
#ifndef __TRAFFICDB_H__
21
#define __TRAFFICDB_H__
23
enum _mmgui_trafficdb_session_state {
24
MMGUI_TRAFFICDB_SESSION_STATE_UNKNOWN = 0,
25
MMGUI_TRAFFICDB_SESSION_STATE_NEW,
26
MMGUI_TRAFFICDB_SESSION_STATE_OLD
30
struct _mmgui_trafficdb {
31
const gchar *filepath;
33
gboolean sessinitialized;
46
typedef struct _mmgui_trafficdb *mmgui_trafficdb_t;
48
struct _mmgui_day_traffic {
54
/*Last session statistics*/
61
typedef struct _mmgui_day_traffic *mmgui_day_traffic_t;
63
struct _mmgui_traffic_update {
72
typedef struct _mmgui_traffic_update *mmgui_traffic_update_t;
74
mmgui_trafficdb_t mmgui_trafficdb_open(const gchar *persistentid, const gchar *internalid);
75
gboolean mmgui_trafficdb_close(mmgui_trafficdb_t trafficdb);
76
gboolean mmgui_trafficdb_traffic_update(mmgui_trafficdb_t trafficdb, mmgui_traffic_update_t update);
77
gboolean mmgui_trafficdb_session_new(mmgui_trafficdb_t trafficdb, time_t starttime);
78
gboolean mmgui_trafficdb_session_close(mmgui_trafficdb_t trafficdb);
79
gboolean mmgui_trafficdb_session_get_day_traffic(mmgui_trafficdb_t trafficdb, mmgui_day_traffic_t daytraffic);
80
gboolean mmgui_trafficdb_day_traffic_write(mmgui_trafficdb_t trafficdb, mmgui_day_traffic_t daytraffic);
81
GSList *mmgui_trafficdb_get_traffic_list_for_month(mmgui_trafficdb_t trafficdb, guint month, guint year);
82
void mmgui_trafficdb_free_traffic_list_for_month(GSList *trafficlist);
83
mmgui_day_traffic_t mmgui_trafficdb_day_traffic_read(mmgui_trafficdb_t trafficdb, time_t daytime);
85
#endif /* __SMSDB_H__ */