gclue-modem.h 6.75 KB
Newer Older
Zeeshan Ali's avatar
Zeeshan Ali committed
1 2
/* vim: set et ts=8 sw=8: */
/*
3
 * Copyright 2014 Red Hat, Inc.
Zeeshan Ali's avatar
Zeeshan Ali committed
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
 *
 * Geoclue 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.
 *
 * Geoclue 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 Geoclue; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * Authors: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
 */

#ifndef GCLUE_MODEM_H
#define GCLUE_MODEM_H

#include <gio/gio.h>

G_BEGIN_DECLS

GType gclue_modem_get_type (void) G_GNUC_CONST;

Zeeshan Ali's avatar
Zeeshan Ali committed
31 32 33 34
#define GCLUE_TYPE_MODEM               (gclue_modem_get_type ())
#define GCLUE_MODEM(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCLUE_TYPE_MODEM, GClueModem))
#define GCLUE_IS_MODEM(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCLUE_TYPE_MODEM))
#define GCLUE_MODEM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GCLUE_TYPE_MODEM, GClueModemInterface))
Zeeshan Ali's avatar
Zeeshan Ali committed
35

Zeeshan Ali's avatar
Zeeshan Ali committed
36 37
typedef struct _GClueModem          GClueModem;
typedef struct _GClueModemInterface GClueModemInterface;
Zeeshan Ali's avatar
Zeeshan Ali committed
38

Zeeshan Ali's avatar
Zeeshan Ali committed
39
struct _GClueModemInterface {
Zeeshan Ali's avatar
Zeeshan Ali committed
40
        /* <private> */
Zeeshan Ali's avatar
Zeeshan Ali committed
41
        GTypeInterface parent_iface;
Zeeshan Ali's avatar
Zeeshan Ali committed
42

Zeeshan Ali's avatar
Zeeshan Ali committed
43 44 45 46 47 48 49
        gboolean (*get_is_3g_available)   (GClueModem         *modem);
        gboolean (*get_is_cdma_available) (GClueModem         *modem);
        gboolean (*get_is_gps_available)  (GClueModem         *modem);
        void     (*enable_3g)             (GClueModem         *modem,
                                           GCancellable       *cancellable,
                                           GAsyncReadyCallback callback,
                                           gpointer            user_data);
50 51 52
        guint     (*get_time_threshold)   (GClueModem *modem);
        void      (*set_time_threshold)   (GClueModem *modem,
                                           guint       threshold);
Zeeshan Ali's avatar
Zeeshan Ali committed
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
        gboolean (*enable_3g_finish)      (GClueModem         *modem,
                                           GAsyncResult       *result,
                                           GError            **error);
        void     (*enable_cdma)           (GClueModem         *modem,
                                           GCancellable       *cancellable,
                                           GAsyncReadyCallback callback,
                                           gpointer            user_data);
        gboolean (*enable_cdma_finish)    (GClueModem         *modem,
                                           GAsyncResult       *result,
                                           GError            **error);
        void     (*enable_gps)            (GClueModem         *modem,
                                           GCancellable       *cancellable,
                                           GAsyncReadyCallback callback,
                                           gpointer            user_data);
        gboolean (*enable_gps_finish)     (GClueModem         *modem,
                                           GAsyncResult       *result,
                                           GError            **error);
        gboolean (*disable_3g)            (GClueModem         *modem,
                                           GCancellable       *cancellable,
                                           GError            **error);
        gboolean (*disable_cdma)          (GClueModem         *modem,
                                           GCancellable       *cancellable,
                                           GError            **error);
        gboolean (*disable_gps)           (GClueModem         *modem,
                                           GCancellable       *cancellable,
                                           GError            **error);
Zeeshan Ali's avatar
Zeeshan Ali committed
79 80
};

Zeeshan Ali's avatar
Zeeshan Ali committed
81 82 83 84 85 86 87
gboolean     gclue_modem_get_is_3g_available   (GClueModem         *modem);
gboolean     gclue_modem_get_is_cdma_available (GClueModem         *modem);
gboolean     gclue_modem_get_is_gps_available  (GClueModem         *modem);
void         gclue_modem_enable_3g             (GClueModem         *modem,
                                                GCancellable       *cancellable,
                                                GAsyncReadyCallback callback,
                                                gpointer            user_data);
88 89 90
guint        gclue_modem_get_time_threshold    (GClueModem *modem);
void         gclue_modem_set_time_threshold    (GClueModem *modem,
                                                guint       threshold);
Zeeshan Ali's avatar
Zeeshan Ali committed
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
gboolean     gclue_modem_enable_3g_finish      (GClueModem         *modem,
                                                GAsyncResult       *result,
                                                GError            **error);
void         gclue_modem_enable_cdma           (GClueModem         *modem,
                                                GCancellable       *cancellable,
                                                GAsyncReadyCallback callback,
                                                gpointer            user_data);
gboolean     gclue_modem_enable_cdma_finish    (GClueModem         *modem,
                                                GAsyncResult       *result,
                                                GError            **error);
void         gclue_modem_enable_gps            (GClueModem         *modem,
                                                GCancellable       *cancellable,
                                                GAsyncReadyCallback callback,
                                                gpointer            user_data);
gboolean     gclue_modem_enable_gps_finish     (GClueModem         *modem,
                                                GAsyncResult       *result,
                                                GError            **error);
gboolean     gclue_modem_disable_3g            (GClueModem         *modem,
                                                GCancellable       *cancellable,
                                                GError            **error);
gboolean     gclue_modem_disable_cdma          (GClueModem         *modem,
                                                GCancellable       *cancellable,
                                                GError            **error);
gboolean     gclue_modem_disable_gps           (GClueModem         *modem,
                                                GCancellable       *cancellable,
                                                GError            **error);
Zeeshan Ali's avatar
Zeeshan Ali committed
117 118 119 120

G_END_DECLS

#endif /* GCLUE_MODEM_H */