diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2011-12-12 20:22:51 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-15 14:14:33 +0100 |
commit | 776cc66e2c8cd366a9179d66cd193a1ea09a76ea (patch) | |
tree | 10f73e49987ffde5bb292c9301edac81a13893a4 /src/mm-bearer-list.h | |
parent | 0793522d287ffd8d37886d927645743d0fec77a0 (diff) |
iface-modem: implement all bearer list operations in the interface
Bearer list operations, except for Bearer creation, are so generic that the
interface itself can implement it for every object implementing the interface.
This implementation is based on a new MMBearerList object.
Diffstat (limited to 'src/mm-bearer-list.h')
-rw-r--r-- | src/mm-bearer-list.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/mm-bearer-list.h b/src/mm-bearer-list.h new file mode 100644 index 00000000..52885d09 --- /dev/null +++ b/src/mm-bearer-list.h @@ -0,0 +1,68 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * 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: + * + * Author: Aleksander Morgado <aleksander@lanedo.com> + * + * Copyright (C) 2011 Google, Inc. + */ + +#ifndef MM_BEARER_LIST_H +#define MM_BEARER_LIST_H + +#include <glib.h> +#include <glib-object.h> + +#include "mm-bearer.h" + +#define MM_TYPE_BEARER_LIST (mm_bearer_list_get_type ()) +#define MM_BEARER_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_BEARER_LIST, MMBearerList)) +#define MM_BEARER_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MM_TYPE_BEARER_LIST, MMBearerListClass)) +#define MM_IS_BEARER_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_BEARER_LIST)) +#define MM_IS_BEARER_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MM_TYPE_BEARER_LIST)) +#define MM_BEARER_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MM_TYPE_BEARER_LIST, MMBearerListClass)) + +#define MM_BEARER_LIST_MAX_BEARERS "max-bearers" +#define MM_BEARER_LIST_MAX_ACTIVE_BEARERS "max-active-bearers" + +typedef struct _MMBearerList MMBearerList; +typedef struct _MMBearerListClass MMBearerListClass; +typedef struct _MMBearerListPrivate MMBearerListPrivate; + +struct _MMBearerList { + GObject parent; + MMBearerListPrivate *priv; +}; + +struct _MMBearerListClass { + GObjectClass parent; +}; + +GType mm_bearer_list_get_type (void); + +MMBearerList *mm_bearer_list_new (guint max_bearers, + guint max_active_bearers); + +GStrv mm_bearer_list_get_paths (MMBearerList *self); + +guint mm_bearer_list_get_count (MMBearerList *self); +guint mm_bearer_list_get_count_active (MMBearerList *self); +guint mm_bearer_list_get_max (MMBearerList *self); +guint mm_bearer_list_get_max_active (MMBearerList *self); + +gboolean mm_bearer_list_add_bearer (MMBearerList *self, + MMBearer *bearer, + GError **error); +gboolean mm_bearer_list_delete_bearer (MMBearerList *self, + const gchar *path, + GError **error); + +#endif /* MM_BEARER_LIST_H */ |