aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib/mm-modem-oma.h
blob: e6dc619ec1447b7a2d75aed6ce1a58ed5f587c95 (plain)
1
2
3
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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
79
80
81
82
83
84
85
86
87
88
89
90
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * libmm -- Access modem status & information from glib applications
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301 USA.
 *
 * Copyright (C) 2013 Google, Inc.
 */

#ifndef _MM_MODEM_OMA_H_
#define _MM_MODEM_OMA_H_

#if !defined (__LIBMM_GLIB_H_INSIDE__) && !defined (LIBMM_GLIB_COMPILATION)
#error "Only <libmm-glib.h> can be included directly."
#endif

#include <ModemManager.h>

#include "mm-helper-types.h"
#include "mm-gdbus-modem.h"

G_BEGIN_DECLS

#define MM_TYPE_MODEM_OMA            (mm_modem_oma_get_type ())
#define MM_MODEM_OMA(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_MODEM_OMA, MMModemOma))
#define MM_MODEM_OMA_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), MM_TYPE_MODEM_OMA, MMModemOmaClass))
#define MM_IS_MODEM_OMA(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_MODEM_OMA))
#define MM_IS_MODEM_OMA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), MM_TYPE_MODEM_OMA))
#define MM_MODEM_OMA_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), MM_TYPE_MODEM_OMA, MMModemOmaClass))

typedef struct _MMModemOma MMModemOma;
typedef struct _MMModemOmaClass MMModemOmaClass;
typedef struct _MMModemOmaPrivate MMModemOmaPrivate;

/**
 * MMModemOma:
 *
 * The #MMModemOma structure contains private data and should only be accessed
 * using the provided API.
 */
struct _MMModemOma {
    /*< private >*/
    MmGdbusModemOmaProxy parent;
    MMModemOmaPrivate *priv;
};

struct _MMModemOmaClass {
    /*< private >*/
    MmGdbusModemOmaProxyClass parent;
};

GType mm_modem_oma_get_type (void);

const gchar *mm_modem_oma_get_path (MMModemOma *self);
gchar       *mm_modem_oma_dup_path (MMModemOma *self);

void     mm_modem_oma_setup        (MMModemOma *self,
                                    MMOmaFeature features,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);
gboolean mm_modem_oma_setup_finish (MMModemOma *self,
                                    GAsyncResult *res,
                                    GError **error);
gboolean mm_modem_oma_setup_sync   (MMModemOma *self,
                                    MMOmaFeature features,
                                    GCancellable *cancellable,
                                    GError **error);

void     mm_modem_oma_start_client_initiated_session        (MMModemOma *self,
                                                             MMOmaSessionType session_type,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
gboolean mm_modem_oma_start_client_initiated_session_finish (MMModemOma *self,
                                                             GAsyncResult *res,
                                                             GError **error);
gboolean mm_modem_oma_start_client_initiated_session_sync   (MMModemOma *self,
                                                             MMOmaSessionType session_type,
                                                             GCancellable *cancellable,
                                                             GError **error);

void     mm_modem_oma_accept_network_initiated_session        (MMModemOma *self,
                                                               guint session_id,
                                                               gboolean accept,
                                                               GCancellable *cancellable,
                                                               GAsyncReadyCallback callback,
                                                               gpointer user_data);
gboolean mm_modem_oma_accept_network_initiated_session_finish (MMModemOma *self,
                                                               GAsyncResult *res,
                                                               GError **error);
gboolean mm_modem_oma_accept_network_initiated_session_sync   (MMModemOma *self,
                                                               guint session_id,
                                                               gboolean accept,
                                                               GCancellable *cancellable,
                                                               GError **error);

void     mm_modem_oma_cancel_session        (MMModemOma *self,
                                             GCancellable *cancellable,
                                             GAsyncReadyCallback callback,
                                             gpointer user_data);
gboolean mm_modem_oma_cancel_session_finish (MMModemOma *self,
                                             GAsyncResult *res,
                                             GError **error);
gboolean mm_modem_oma_cancel_session_sync   (MMModemOma *self,
                                             GCancellable *cancellable,
                                             GError **error);

MMOmaFeature      mm_modem_oma_get_features      (MMModemOma *self);
MMOmaSessionType  mm_modem_oma_get_session_type  (MMModemOma *self);
MMOmaSessionState mm_modem_oma_get_session_state (MMModemOma *self);

gboolean mm_modem_peek_pending_network_initiated_sessions (MMModemOma *self,
                                                           const MMOmaPendingNetworkInitiatedSession **sessions,
                                                           guint *n_sessions);
gboolean mm_modem_get_pending_network_initiated_sessions  (MMModemOma *self,
                                                           MMOmaPendingNetworkInitiatedSession **sessions,
                                                           guint *n_sessions);

G_END_DECLS

#endif /* _MM_MODEM_OMA_H_ */