base-sms: remove MODEM property
No longer depend on MMBaseModem since everything that specifically uses it is now removed. Signed-off-by: Dan Williams <dan@ioncontrol.co>
This commit is contained in:
+6
-28
@@ -27,10 +27,7 @@
|
||||
#include <libmm-glib.h>
|
||||
|
||||
#include "mm-base-sms.h"
|
||||
#include "mm-broadband-modem.h"
|
||||
#include "mm-auth-provider.h"
|
||||
#include "mm-iface-modem.h"
|
||||
#include "mm-iface-modem-messaging.h"
|
||||
#include "mm-sms-part-3gpp.h"
|
||||
#include "mm-log-object.h"
|
||||
#include "mm-modem-helpers.h"
|
||||
@@ -50,7 +47,6 @@ enum {
|
||||
PROP_PATH,
|
||||
PROP_CONNECTION,
|
||||
PROP_BIND_TO,
|
||||
PROP_MODEM,
|
||||
PROP_IS_MULTIPART,
|
||||
PROP_MAX_PARTS,
|
||||
PROP_MULTIPART_REFERENCE,
|
||||
@@ -75,6 +71,12 @@ struct _MMBaseSmsPrivate {
|
||||
/* The connection to the system bus */
|
||||
GDBusConnection *connection;
|
||||
guint dbus_id;
|
||||
/* Object to which our connection property should be bound */
|
||||
GObject *connection_parent;
|
||||
/* GObject property name of the parent's connection property to
|
||||
* which this SMS"s connection should be bound.
|
||||
*/
|
||||
gchar *connection_parent_property_name;
|
||||
|
||||
/* The authorization provider */
|
||||
MMAuthProvider *authp;
|
||||
@@ -83,8 +85,6 @@ struct _MMBaseSmsPrivate {
|
||||
/* The object this SMS is bound to */
|
||||
GObject *bind_to;
|
||||
|
||||
/* The modem which owns this SMS */
|
||||
MMBaseModem *modem;
|
||||
/* The path where the SMS object is exported */
|
||||
gchar *path;
|
||||
|
||||
@@ -1094,13 +1094,11 @@ mm_base_sms_multipart_take_part (MMBaseSms *self,
|
||||
|
||||
gboolean
|
||||
mm_base_sms_singlepart_init (MMBaseSms *self,
|
||||
MMBaseModem *modem,
|
||||
MMSmsState state,
|
||||
MMSmsStorage storage,
|
||||
MMSmsPart *part,
|
||||
GError **error)
|
||||
{
|
||||
g_assert (MM_IS_IFACE_MODEM_MESSAGING (modem));
|
||||
g_assert (self->priv->initialized == FALSE);
|
||||
|
||||
g_object_set (self,
|
||||
@@ -1129,7 +1127,6 @@ mm_base_sms_singlepart_init (MMBaseSms *self,
|
||||
|
||||
gboolean
|
||||
mm_base_sms_multipart_init (MMBaseSms *self,
|
||||
MMBaseModem *modem,
|
||||
MMSmsState state,
|
||||
MMSmsStorage storage,
|
||||
guint reference,
|
||||
@@ -1137,7 +1134,6 @@ mm_base_sms_multipart_init (MMBaseSms *self,
|
||||
MMSmsPart *first_part,
|
||||
GError **error)
|
||||
{
|
||||
g_assert (MM_IS_IFACE_MODEM_MESSAGING (modem));
|
||||
g_assert (self->priv->initialized == FALSE);
|
||||
|
||||
/* If this is the first part of a RECEIVED SMS, we overwrite the state
|
||||
@@ -1173,14 +1169,12 @@ mm_base_sms_multipart_init (MMBaseSms *self,
|
||||
|
||||
gboolean
|
||||
mm_base_sms_init_from_properties (MMBaseSms *self,
|
||||
MMBaseModem *modem,
|
||||
MMSmsProperties *props,
|
||||
GError **error)
|
||||
{
|
||||
const gchar *text;
|
||||
GByteArray *data;
|
||||
|
||||
g_assert (MM_IS_IFACE_MODEM_MESSAGING (modem));
|
||||
g_assert (self->priv->initialized == FALSE);
|
||||
|
||||
text = mm_sms_properties_get_text (props);
|
||||
@@ -1301,10 +1295,6 @@ set_property (GObject *object,
|
||||
self->priv->bind_to = g_value_dup_object (value);
|
||||
mm_bind_to (MM_BIND (self), MM_BASE_SMS_CONNECTION, self->priv->bind_to);
|
||||
break;
|
||||
case PROP_MODEM:
|
||||
g_clear_object (&self->priv->modem);
|
||||
self->priv->modem = g_value_dup_object (value);
|
||||
break;
|
||||
case PROP_IS_MULTIPART:
|
||||
self->priv->is_multipart = g_value_get_boolean (value);
|
||||
break;
|
||||
@@ -1349,9 +1339,6 @@ get_property (GObject *object,
|
||||
case PROP_BIND_TO:
|
||||
g_value_set_object (value, self->priv->bind_to);
|
||||
break;
|
||||
case PROP_MODEM:
|
||||
g_value_set_object (value, self->priv->modem);
|
||||
break;
|
||||
case PROP_IS_MULTIPART:
|
||||
g_value_set_boolean (value, self->priv->is_multipart);
|
||||
break;
|
||||
@@ -1417,7 +1404,6 @@ dispose (GObject *object)
|
||||
g_clear_object (&self->priv->connection);
|
||||
}
|
||||
|
||||
g_clear_object (&self->priv->modem);
|
||||
g_clear_object (&self->priv->bind_to);
|
||||
g_cancellable_cancel (self->priv->authp_cancellable);
|
||||
g_clear_object (&self->priv->authp_cancellable);
|
||||
@@ -1468,14 +1454,6 @@ mm_base_sms_class_init (MMBaseSmsClass *klass)
|
||||
|
||||
g_object_class_override_property (object_class, PROP_BIND_TO, MM_BIND_TO);
|
||||
|
||||
properties[PROP_MODEM] =
|
||||
g_param_spec_object (MM_BASE_SMS_MODEM,
|
||||
"Modem",
|
||||
"The Modem which owns this SMS",
|
||||
MM_TYPE_BASE_MODEM,
|
||||
G_PARAM_READWRITE);
|
||||
g_object_class_install_property (object_class, PROP_MODEM, properties[PROP_MODEM]);
|
||||
|
||||
properties[PROP_IS_MULTIPART] =
|
||||
g_param_spec_boolean (MM_BASE_SMS_IS_MULTIPART,
|
||||
"Is multipart",
|
||||
|
||||
+1
-5
@@ -25,7 +25,6 @@
|
||||
#include <libmm-glib.h>
|
||||
|
||||
#include "mm-sms-part.h"
|
||||
#include "mm-base-modem.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
@@ -49,13 +48,13 @@ typedef struct _MMBaseSmsPrivate MMBaseSmsPrivate;
|
||||
/* Properties */
|
||||
#define MM_BASE_SMS_PATH "sms-path"
|
||||
#define MM_BASE_SMS_CONNECTION "sms-connection"
|
||||
#define MM_BASE_SMS_MODEM "sms-modem"
|
||||
#define MM_BASE_SMS_IS_MULTIPART "sms-is-multipart"
|
||||
#define MM_BASE_SMS_MAX_PARTS "sms-max-parts"
|
||||
#define MM_BASE_SMS_MULTIPART_REFERENCE "sms-multipart-reference"
|
||||
#define MM_BASE_SMS_IS_3GPP "sms-is-3gpp"
|
||||
#define MM_BASE_SMS_DEFAULT_STORAGE "sms-default-storage"
|
||||
#define MM_BASE_SMS_SUPPORTED_STORAGES "sms-supported-storages"
|
||||
#define MM_BASE_SMS_CONNECTION_PARENT_PROPERTY_NAME "sms-connection-parent-property-name"
|
||||
|
||||
/* Signals */
|
||||
#define MM_BASE_SMS_SET_LOCAL_MULTIPART_REFERENCE "sms-set-local-multipart-reference"
|
||||
@@ -102,17 +101,14 @@ GType mm_base_sms_get_type (void);
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MMBaseSms, g_object_unref)
|
||||
|
||||
gboolean mm_base_sms_init_from_properties (MMBaseSms *self,
|
||||
MMBaseModem *modem,
|
||||
MMSmsProperties *properties,
|
||||
GError **error);
|
||||
gboolean mm_base_sms_singlepart_init (MMBaseSms *self,
|
||||
MMBaseModem *modem,
|
||||
MMSmsState state,
|
||||
MMSmsStorage storage,
|
||||
MMSmsPart *part,
|
||||
GError **error);
|
||||
gboolean mm_base_sms_multipart_init (MMBaseSms *self,
|
||||
MMBaseModem *modem,
|
||||
MMSmsState state,
|
||||
MMSmsStorage storage,
|
||||
guint reference,
|
||||
|
||||
@@ -283,7 +283,7 @@ handle_create_auth_ready (MMIfaceAuth *auth,
|
||||
}
|
||||
|
||||
sms = mm_broadband_modem_create_sms (MM_BROADBAND_MODEM (self));
|
||||
if (!mm_base_sms_init_from_properties (sms, MM_BASE_MODEM (self), properties, &error)) {
|
||||
if (!mm_base_sms_init_from_properties (sms, properties, &error)) {
|
||||
mm_dbus_method_invocation_take_error (ctx->invocation, error);
|
||||
handle_create_context_free (ctx);
|
||||
return;
|
||||
|
||||
+2
-1
@@ -32,6 +32,7 @@
|
||||
#include "mm-sms-part-3gpp.h"
|
||||
#include "mm-base-modem-at.h"
|
||||
#include "mm-log-object.h"
|
||||
#include "mm-bind.h"
|
||||
|
||||
G_DEFINE_TYPE (MMSmsAt, mm_sms_at, MM_TYPE_BASE_SMS)
|
||||
|
||||
@@ -795,7 +796,7 @@ mm_sms_at_new (MMBaseModem *modem,
|
||||
MMBaseSms *sms;
|
||||
|
||||
sms = MM_BASE_SMS (g_object_new (MM_TYPE_SMS_AT,
|
||||
MM_BASE_SMS_MODEM, modem,
|
||||
MM_BIND_TO, G_OBJECT (modem),
|
||||
MM_BASE_SMS_IS_3GPP, is_3gpp,
|
||||
MM_BASE_SMS_DEFAULT_STORAGE, default_storage,
|
||||
NULL));
|
||||
|
||||
@@ -315,7 +315,6 @@ take_singlepart (MMSmsList *self,
|
||||
GError **error)
|
||||
{
|
||||
if (!mm_base_sms_singlepart_init (sms,
|
||||
self->priv->modem,
|
||||
state,
|
||||
storage,
|
||||
part,
|
||||
@@ -349,7 +348,6 @@ take_multipart (MMSmsList *self,
|
||||
|
||||
/* Create new Multipart */
|
||||
if (!mm_base_sms_multipart_init (sms,
|
||||
self->priv->modem,
|
||||
state,
|
||||
storage,
|
||||
concat_reference,
|
||||
|
||||
+38
-22
@@ -35,25 +35,22 @@
|
||||
|
||||
G_DEFINE_TYPE (MMSmsMbim, mm_sms_mbim, MM_TYPE_BASE_SMS)
|
||||
|
||||
struct _MMSmsMbimPrivate {
|
||||
MMBaseModem *modem;
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
static gboolean
|
||||
peek_device (gpointer self,
|
||||
MbimDevice **o_device,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
peek_device (MMSmsMbim *self,
|
||||
MbimDevice **o_device,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMBaseModem *modem = NULL;
|
||||
|
||||
g_object_get (G_OBJECT (self),
|
||||
MM_BASE_SMS_MODEM, &modem,
|
||||
NULL);
|
||||
g_assert (MM_IS_BASE_MODEM (modem));
|
||||
|
||||
if (o_device) {
|
||||
MMPortMbim *port;
|
||||
|
||||
port = mm_broadband_modem_mbim_peek_port_mbim (MM_BROADBAND_MODEM_MBIM (modem));
|
||||
port = mm_broadband_modem_mbim_peek_port_mbim (MM_BROADBAND_MODEM_MBIM (self->priv->modem));
|
||||
if (!port) {
|
||||
g_task_report_new_error (self,
|
||||
callback,
|
||||
@@ -62,14 +59,12 @@ peek_device (gpointer self,
|
||||
MM_CORE_ERROR,
|
||||
MM_CORE_ERROR_FAILED,
|
||||
"Couldn't peek MBIM port");
|
||||
g_object_unref (modem);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
*o_device = mm_port_mbim_peek_device (port);
|
||||
}
|
||||
|
||||
g_object_unref (modem);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -191,7 +186,7 @@ sms_send (MMBaseSms *self,
|
||||
MbimDevice *device;
|
||||
GTask *task;
|
||||
|
||||
if (!peek_device (self, &device, callback, user_data))
|
||||
if (!peek_device (MM_SMS_MBIM (self), &device, callback, user_data))
|
||||
return;
|
||||
|
||||
/* Setup the context */
|
||||
@@ -315,7 +310,7 @@ sms_delete (MMBaseSms *self,
|
||||
MbimDevice *device;
|
||||
GTask *task;
|
||||
|
||||
if (!peek_device (self, &device, callback, user_data))
|
||||
if (!peek_device (MM_SMS_MBIM (self), &device, callback, user_data))
|
||||
return;
|
||||
|
||||
ctx = g_slice_new0 (SmsDeletePartsContext);
|
||||
@@ -336,24 +331,45 @@ mm_sms_mbim_new (MMBaseModem *modem,
|
||||
gboolean is_3gpp,
|
||||
MMSmsStorage default_storage)
|
||||
{
|
||||
return MM_BASE_SMS (g_object_new (MM_TYPE_SMS_MBIM,
|
||||
MM_BASE_SMS_MODEM, modem,
|
||||
MM_BIND_TO, G_OBJECT (modem),
|
||||
MM_BASE_SMS_IS_3GPP, is_3gpp,
|
||||
MM_BASE_SMS_DEFAULT_STORAGE, default_storage,
|
||||
NULL));
|
||||
MMBaseSms *sms;
|
||||
|
||||
g_return_val_if_fail (MM_IS_BROADBAND_MODEM_MBIM (modem), NULL);
|
||||
|
||||
sms = MM_BASE_SMS (g_object_new (MM_TYPE_SMS_MBIM,
|
||||
MM_BIND_TO, G_OBJECT (modem),
|
||||
MM_BASE_SMS_IS_3GPP, is_3gpp,
|
||||
MM_BASE_SMS_DEFAULT_STORAGE, default_storage,
|
||||
NULL));
|
||||
MM_SMS_MBIM (sms)->priv->modem = g_object_ref (modem);
|
||||
return sms;
|
||||
}
|
||||
|
||||
static void
|
||||
mm_sms_mbim_init (MMSmsMbim *self)
|
||||
{
|
||||
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, MM_TYPE_SMS_MBIM, MMSmsMbimPrivate);
|
||||
}
|
||||
|
||||
static void
|
||||
dispose (GObject *object)
|
||||
{
|
||||
MMSmsMbim *self = MM_SMS_MBIM (object);
|
||||
|
||||
g_clear_object (&self->priv->modem);
|
||||
|
||||
G_OBJECT_CLASS (mm_sms_mbim_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
mm_sms_mbim_class_init (MMSmsMbimClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
MMBaseSmsClass *base_sms_class = MM_BASE_SMS_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (object_class, sizeof (MMSmsMbimPrivate));
|
||||
|
||||
object_class->dispose = dispose;
|
||||
|
||||
base_sms_class->store = NULL;
|
||||
base_sms_class->store_finish = NULL;
|
||||
base_sms_class->send = sms_send;
|
||||
|
||||
@@ -33,9 +33,11 @@
|
||||
|
||||
typedef struct _MMSmsMbim MMSmsMbim;
|
||||
typedef struct _MMSmsMbimClass MMSmsMbimClass;
|
||||
typedef struct _MMSmsMbimPrivate MMSmsMbimPrivate;
|
||||
|
||||
struct _MMSmsMbim {
|
||||
MMBaseSms parent;
|
||||
MMSmsMbimPrivate *priv;
|
||||
};
|
||||
|
||||
struct _MMSmsMbimClass {
|
||||
|
||||
+43
-41
@@ -37,6 +37,10 @@
|
||||
|
||||
G_DEFINE_TYPE (MMSmsQmi, mm_sms_qmi, MM_TYPE_BASE_SMS)
|
||||
|
||||
struct _MMSmsQmiPrivate {
|
||||
MMBaseModem *modem;
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
static gboolean
|
||||
@@ -46,18 +50,10 @@ ensure_qmi_client (MMSmsQmi *self,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMBaseModem *modem = NULL;
|
||||
QmiClient *client;
|
||||
MMPortQmi *port;
|
||||
|
||||
g_object_get (self,
|
||||
MM_BASE_SMS_MODEM, &modem,
|
||||
NULL);
|
||||
g_assert (MM_IS_BASE_MODEM (modem));
|
||||
|
||||
port = mm_broadband_modem_qmi_peek_port_qmi (MM_BROADBAND_MODEM_QMI (modem));
|
||||
g_object_unref (modem);
|
||||
|
||||
port = mm_broadband_modem_qmi_peek_port_qmi (MM_BROADBAND_MODEM_QMI (self->priv->modem));
|
||||
if (!port) {
|
||||
g_task_report_new_error (self,
|
||||
callback,
|
||||
@@ -119,7 +115,6 @@ check_sms_type_support (MMSmsQmi *self,
|
||||
/* Store the SMS */
|
||||
|
||||
typedef struct {
|
||||
MMBaseModem *modem;
|
||||
QmiClientWms *client;
|
||||
MMSmsStorage storage;
|
||||
GList *current;
|
||||
@@ -129,7 +124,6 @@ static void
|
||||
sms_store_context_free (SmsStoreContext *ctx)
|
||||
{
|
||||
g_object_unref (ctx->client);
|
||||
g_object_unref (ctx->modem);
|
||||
g_slice_free (SmsStoreContext, ctx);
|
||||
}
|
||||
|
||||
@@ -260,11 +254,12 @@ sms_store_next_part (GTask *task)
|
||||
}
|
||||
|
||||
static void
|
||||
sms_store (MMBaseSms *self,
|
||||
sms_store (MMBaseSms *_self,
|
||||
MMSmsStorage storage,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMSmsQmi *self = MM_SMS_QMI (_self);
|
||||
SmsStoreContext *ctx;
|
||||
QmiClient *client = NULL;
|
||||
GError *error = NULL;
|
||||
@@ -280,17 +275,13 @@ sms_store (MMBaseSms *self,
|
||||
ctx = g_slice_new0 (SmsStoreContext);
|
||||
ctx->client = QMI_CLIENT_WMS (g_object_ref (client));
|
||||
ctx->storage = storage;
|
||||
g_object_get (self,
|
||||
MM_BASE_SMS_MODEM, &ctx->modem,
|
||||
NULL);
|
||||
|
||||
ctx->current = mm_base_sms_get_parts (self);
|
||||
ctx->current = mm_base_sms_get_parts (_self);
|
||||
|
||||
task = g_task_new (self, NULL, callback, user_data);
|
||||
g_task_set_task_data (task, ctx, (GDestroyNotify)sms_store_context_free);
|
||||
|
||||
/* Check whether we support the given SMS type */
|
||||
if (!check_sms_type_support (MM_SMS_QMI (self), ctx->modem, (MMSmsPart *)ctx->current->data, &error)) {
|
||||
if (!check_sms_type_support (MM_SMS_QMI (self), self->priv->modem, (MMSmsPart *)ctx->current->data, &error)) {
|
||||
g_task_return_error (task, error);
|
||||
g_object_unref (task);
|
||||
return;
|
||||
@@ -304,7 +295,6 @@ sms_store (MMBaseSms *self,
|
||||
/* Send the SMS */
|
||||
|
||||
typedef struct {
|
||||
MMBaseModem *modem;
|
||||
QmiClientWms *client;
|
||||
gboolean from_storage;
|
||||
GList *current;
|
||||
@@ -314,7 +304,6 @@ static void
|
||||
sms_send_context_free (SmsSendContext *ctx)
|
||||
{
|
||||
g_object_unref (ctx->client);
|
||||
g_object_unref (ctx->modem);
|
||||
g_slice_free (SmsSendContext, ctx);
|
||||
}
|
||||
|
||||
@@ -595,10 +584,11 @@ sms_send_next_part (GTask *task)
|
||||
}
|
||||
|
||||
static void
|
||||
sms_send (MMBaseSms *self,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
sms_send (MMBaseSms *_self,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
MMSmsQmi *self = MM_SMS_QMI (_self);
|
||||
SmsSendContext *ctx;
|
||||
QmiClient *client = NULL;
|
||||
GError *error = NULL;
|
||||
@@ -613,20 +603,16 @@ sms_send (MMBaseSms *self,
|
||||
/* Setup the context */
|
||||
ctx = g_slice_new0 (SmsSendContext);
|
||||
ctx->client = QMI_CLIENT_WMS (g_object_ref (client));
|
||||
g_object_get (self,
|
||||
MM_BASE_SMS_MODEM, &ctx->modem,
|
||||
NULL);
|
||||
|
||||
/* If the SMS is STORED, try to send from storage */
|
||||
ctx->from_storage = (mm_base_sms_get_storage (self) != MM_SMS_STORAGE_UNKNOWN);
|
||||
ctx->from_storage = (mm_base_sms_get_storage (_self) != MM_SMS_STORAGE_UNKNOWN);
|
||||
|
||||
ctx->current = mm_base_sms_get_parts (self);
|
||||
ctx->current = mm_base_sms_get_parts (_self);
|
||||
|
||||
task = g_task_new (self, NULL, callback, user_data);
|
||||
g_task_set_task_data (task, ctx, (GDestroyNotify)sms_send_context_free);
|
||||
|
||||
/* Check whether we support the given SMS type */
|
||||
if (!check_sms_type_support (MM_SMS_QMI (self), ctx->modem, (MMSmsPart *)ctx->current->data, &error)) {
|
||||
if (!check_sms_type_support (MM_SMS_QMI (self), self->priv->modem, (MMSmsPart *)ctx->current->data, &error)) {
|
||||
g_task_return_error (task, error);
|
||||
g_object_unref (task);
|
||||
return;
|
||||
@@ -638,7 +624,6 @@ sms_send (MMBaseSms *self,
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef struct {
|
||||
MMBaseModem *modem;
|
||||
QmiClientWms *client;
|
||||
GList *current;
|
||||
guint n_failed;
|
||||
@@ -648,7 +633,6 @@ static void
|
||||
sms_delete_parts_context_free (SmsDeletePartsContext *ctx)
|
||||
{
|
||||
g_object_unref (ctx->client);
|
||||
g_object_unref (ctx->modem);
|
||||
g_slice_free (SmsDeletePartsContext, ctx);
|
||||
}
|
||||
|
||||
@@ -771,9 +755,6 @@ sms_delete (MMBaseSms *self,
|
||||
|
||||
ctx = g_slice_new0 (SmsDeletePartsContext);
|
||||
ctx->client = QMI_CLIENT_WMS (g_object_ref (client));
|
||||
g_object_get (self,
|
||||
MM_BASE_SMS_MODEM, &ctx->modem,
|
||||
NULL);
|
||||
|
||||
task = g_task_new (self, NULL, callback, user_data);
|
||||
g_task_set_task_data (task, ctx, (GDestroyNotify)sms_delete_parts_context_free);
|
||||
@@ -790,24 +771,45 @@ mm_sms_qmi_new (MMBaseModem *modem,
|
||||
gboolean is_3gpp,
|
||||
MMSmsStorage default_storage)
|
||||
{
|
||||
return MM_BASE_SMS (g_object_new (MM_TYPE_SMS_QMI,
|
||||
MM_BASE_SMS_MODEM, modem,
|
||||
MM_BIND_TO, G_OBJECT (modem),
|
||||
MM_BASE_SMS_IS_3GPP, is_3gpp,
|
||||
MM_BASE_SMS_DEFAULT_STORAGE, default_storage,
|
||||
NULL));
|
||||
MMBaseSms *sms;
|
||||
|
||||
g_return_val_if_fail (MM_IS_BROADBAND_MODEM_QMI (modem), NULL);
|
||||
|
||||
sms = MM_BASE_SMS (g_object_new (MM_TYPE_SMS_QMI,
|
||||
MM_BIND_TO, G_OBJECT (modem),
|
||||
MM_BASE_SMS_IS_3GPP, is_3gpp,
|
||||
MM_BASE_SMS_DEFAULT_STORAGE, default_storage,
|
||||
NULL));
|
||||
MM_SMS_QMI (sms)->priv->modem = g_object_ref (modem);
|
||||
return sms;
|
||||
}
|
||||
|
||||
static void
|
||||
mm_sms_qmi_init (MMSmsQmi *self)
|
||||
{
|
||||
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, MM_TYPE_SMS_QMI, MMSmsQmiPrivate);
|
||||
}
|
||||
|
||||
static void
|
||||
dispose (GObject *object)
|
||||
{
|
||||
MMSmsQmi *self = MM_SMS_QMI (object);
|
||||
|
||||
g_clear_object (&self->priv->modem);
|
||||
|
||||
G_OBJECT_CLASS (mm_sms_qmi_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
mm_sms_qmi_class_init (MMSmsQmiClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
MMBaseSmsClass *base_sms_class = MM_BASE_SMS_CLASS (klass);
|
||||
|
||||
g_type_class_add_private (object_class, sizeof (MMSmsQmiPrivate));
|
||||
|
||||
object_class->dispose = dispose;
|
||||
|
||||
base_sms_class->store = sms_store;
|
||||
base_sms_class->store_finish = sms_store_finish;
|
||||
base_sms_class->send = sms_send;
|
||||
|
||||
@@ -35,9 +35,11 @@
|
||||
|
||||
typedef struct _MMSmsQmi MMSmsQmi;
|
||||
typedef struct _MMSmsQmiClass MMSmsQmiClass;
|
||||
typedef struct _MMSmsQmiPrivate MMSmsQmiPrivate;
|
||||
|
||||
struct _MMSmsQmi {
|
||||
MMBaseSms parent;
|
||||
MMSmsQmiPrivate *priv;
|
||||
};
|
||||
|
||||
struct _MMSmsQmiClass {
|
||||
|
||||
Reference in New Issue
Block a user