diff options
Diffstat (limited to 'libmm-glib/mm-sms.c')
-rw-r--r-- | libmm-glib/mm-sms.c | 412 |
1 files changed, 245 insertions, 167 deletions
diff --git a/libmm-glib/mm-sms.c b/libmm-glib/mm-sms.c index af8e4350..3a0bd5f5 100644 --- a/libmm-glib/mm-sms.c +++ b/libmm-glib/mm-sms.c @@ -27,6 +27,22 @@ #include "mm-modem.h" /** + * SECTION: mm-sms + * @title: MMSms + * @short_description: The SMS interface + * + * The #MMSms is an object providing access to the methods, signals and + * properties of the SMS interface. + * + * When the SMS is exposed and available in the bus, it is ensured that at + * least this interface is also available. + */ + +G_DEFINE_TYPE (MMSms, mm_sms, MM_GDBUS_TYPE_SMS_PROXY) + +/*****************************************************************************/ + +/** * mm_sms_get_path: * @self: A #MMSms. * @@ -37,7 +53,7 @@ const gchar * mm_sms_get_path (MMSms *self) { - g_return_val_if_fail (G_IS_DBUS_PROXY (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_CONSTANT_STRING ( g_dbus_proxy_get_object_path (G_DBUS_PROXY (self))); @@ -56,7 +72,7 @@ mm_sms_dup_path (MMSms *self) { gchar *value; - g_return_val_if_fail (G_IS_DBUS_PROXY (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); g_object_get (G_OBJECT (self), "g-object-path", &value, @@ -65,50 +81,57 @@ mm_sms_dup_path (MMSms *self) RETURN_NON_EMPTY_STRING (value); } +/*****************************************************************************/ + /** * mm_sms_get_text: * @self: A #MMSms. * - * TODO + * Gets the message text, in UTF-8. * - * <warning>It is only safe to use this function on the thread where @self was constructed. Use mm_sms_dup_text() if on another thread.</warning> + * <warning>The returned value is only valid until the property changes so + * it is only safe to use this function on the thread where + * @self was constructed. Use mm_sms_dup_text() if on another + * thread.</warning> * - * Returns: (transfer none): The name of the text, or %NULL if it couldn't be retrieved. + * Returns: (transfer none): The message text, or %NULL if it doesn't contain any (e.g. contains data instead). */ const gchar * mm_sms_get_text (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_CONSTANT_STRING ( - mm_gdbus_sms_get_text (self)); + mm_gdbus_sms_get_text (MM_GDBUS_SMS (self))); } /** * mm_sms_dup_text: * @self: A #MMSms. * - * TODO + * Gets the message text, in UTF-8. * - * Returns: (transfer full): The name of the text, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). + * Returns: (transfer full): The message text, or %NULL if it doesn't contain any (e.g. contains data instead). The returned value should be freed with g_free(). */ gchar * mm_sms_dup_text (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_STRING ( - mm_gdbus_sms_dup_text (self)); + mm_gdbus_sms_dup_text (MM_GDBUS_SMS (self))); } +/*****************************************************************************/ + /** * mm_sms_get_data: * @self: A #MMSms. - * @data_len: (out) Size of the output data, if any given. + * @data_len: (out): Size of the output data, if any given. * - * TODO + * Gets the message data. * - * Returns: (transfer none): The data, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). + * Returns: (transfer none): The message data, or %NULL if it doesn't contain any (e.g. contains text instead). */ const guint8 * mm_sms_get_data (MMSms *self, @@ -116,7 +139,8 @@ mm_sms_get_data (MMSms *self, { GVariant *data; - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); + g_return_val_if_fail (data_len != NULL, NULL); data = mm_gdbus_sms_get_data (MM_GDBUS_SMS (self)); return (data ? @@ -132,9 +156,9 @@ mm_sms_get_data (MMSms *self, * @self: A #MMSms. * @data_len: (out) Size of the output data, if any given. * - * TODO + * Gets the message data. * - * Returns: (transfer full): The data, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). + * Returns: (transfer full): The message data, or %NULL if it doesn't contain any (e.g. contains text instead). The returned value should be freed with g_free(). */ guint8 * mm_sms_dup_data (MMSms *self, @@ -145,7 +169,7 @@ mm_sms_dup_data (MMSms *self, const guint8 *orig_data; gsize orig_data_len = 0; - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); /* Get a ref to ensure the variant is valid as long as we use it */ data_variant = mm_gdbus_sms_dup_data (MM_GDBUS_SMS (self)); @@ -166,268 +190,357 @@ mm_sms_dup_data (MMSms *self, return out; } +/*****************************************************************************/ + /** * mm_sms_get_number: * @self: A #MMSms. * - * TODO + * Gets the number to which the message is addressed. * - * <warning>It is only safe to use this function on the thread where @self was constructed. Use mm_sms_dup_number() if on another thread.</warning> + * <warning>The returned value is only valid until the property changes so + * it is only safe to use this function on the thread where + * @self was constructed. Use mm_sms_dup_number() if on another + * thread.</warning> * - * Returns: (transfer none): The name of the number, or %NULL if it couldn't be retrieved. + * Returns: (transfer none): The number, or %NULL if it couldn't be retrieved. */ const gchar * mm_sms_get_number (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_CONSTANT_STRING ( - mm_gdbus_sms_get_number (self)); + mm_gdbus_sms_get_number (MM_GDBUS_SMS (self))); } /** * mm_sms_dup_number: * @self: A #MMSms. * - * TODO + * Gets the number to which the message is addressed. * - * Returns: (transfer full): The name of the number, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). + * Returns: (transfer full): The number, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). */ gchar * mm_sms_dup_number (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_STRING ( - mm_gdbus_sms_dup_number (self)); + mm_gdbus_sms_dup_number (MM_GDBUS_SMS (self))); } +/*****************************************************************************/ + /** * mm_sms_get_smsc: * @self: A #MMSms. * - * TODO + * Gets the SMS service center number. * - * <warning>It is only safe to use this function on the thread where @self was constructed. Use mm_sms_dup_smsc() if on another thread.</warning> + * <warning>The returned value is only valid until the property changes so + * it is only safe to use this function on the thread where + * @self was constructed. Use mm_sms_dup_smsc() if on another + * thread.</warning> * - * Returns: (transfer none): The name of the smsc, or %NULL if it couldn't be retrieved. + * Returns: (transfer none): The number of the SMSC, or %NULL if it couldn't be retrieved. */ const gchar * mm_sms_get_smsc (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_CONSTANT_STRING ( - mm_gdbus_sms_get_smsc (self)); + mm_gdbus_sms_get_smsc (MM_GDBUS_SMS (self))); } /** * mm_sms_dup_smsc: * @self: A #MMSms. * - * TODO + * Gets the SMS service center number. * - * Returns: (transfer full): The name of the smsc, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). + * Returns: (transfer full): The number of the SMSC, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). */ gchar * mm_sms_dup_smsc (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_STRING ( - mm_gdbus_sms_dup_smsc (self)); + mm_gdbus_sms_dup_smsc (MM_GDBUS_SMS (self))); } +/*****************************************************************************/ + /** * mm_sms_get_timestamp: * @self: A #MMSms. * - * TODO + * Gets the time when the first PDU of the SMS message arrived the SMSC, in + * <ulink url="http://en.wikipedia.org/wiki/ISO_8601">ISO8601</ulink> + * format. + * + * This field is only applicable if the PDU type is %MM_SMS_PDU_TYPE_DELIVER or + * %MM_SMS_PDU_TYPE_STATUS_REPORT. * - * <warning>It is only safe to use this function on the thread where @self was constructed. Use mm_sms_dup_timestamp() if on another thread.</warning> + * <warning>The returned value is only valid until the property changes so + * it is only safe to use this function on the thread where + * @self was constructed. Use mm_sms_dup_timestamp() if on another + * thread.</warning> * - * Returns: (transfer none): The name of the timestamp, or %NULL if it couldn't be retrieved. + * Returns: (transfer none): The timestamp, or %NULL if it couldn't be retrieved. */ const gchar * mm_sms_get_timestamp (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_CONSTANT_STRING ( - mm_gdbus_sms_get_timestamp (self)); + mm_gdbus_sms_get_timestamp (MM_GDBUS_SMS (self))); } /** * mm_sms_dup_timestamp: * @self: A #MMSms. * - * TODO + * Gets the time when the first PDU of the SMS message arrived the SMSC, in + * <ulink url="http://en.wikipedia.org/wiki/ISO_8601">ISO8601</ulink> + * format. * - * Returns: (transfer full): The name of the timestamp, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). + * This field is only applicable if the PDU type is %MM_SMS_PDU_TYPE_DELIVER or + * %MM_SMS_PDU_TYPE_STATUS_REPORT. + * + * Returns: (transfer full): The timestamp, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). */ gchar * mm_sms_dup_timestamp (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_STRING ( - mm_gdbus_sms_dup_timestamp (self)); + mm_gdbus_sms_dup_timestamp (MM_GDBUS_SMS (self))); } +/*****************************************************************************/ + /** * mm_sms_get_discharge_timestamp: * @self: A #MMSms. * - * TODO + * Gets the time when the first PDU of the SMS message left the SMSC, in + * <ulink url="http://en.wikipedia.org/wiki/ISO_8601">ISO8601</ulink> + * format. * - * <warning>It is only safe to use this function on the thread where @self was constructed. Use mm_sms_dup_timestamp() if on another thread.</warning> + * This field is only applicable if the PDU type is %MM_SMS_PDU_TYPE_STATUS_REPORT. * - * Returns: (transfer none): The name of the timestamp, or %NULL if it couldn't be retrieved. + * <warning>The returned value is only valid until the property changes so + * it is only safe to use this function on the thread where + * @self was constructed. Use mm_sms_dup_discharge_timestamp() if on another + * thread.</warning> + * + * Returns: (transfer none): The timestamp, or %NULL if it couldn't be retrieved. */ const gchar * mm_sms_get_discharge_timestamp (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_CONSTANT_STRING ( - mm_gdbus_sms_get_discharge_timestamp (self)); + mm_gdbus_sms_get_discharge_timestamp (MM_GDBUS_SMS (self))); } /** * mm_sms_dup_discharge_timestamp: * @self: A #MMSms. * - * TODO + * Gets the time when the first PDU of the SMS message left the SMSC, in + * <ulink url="http://en.wikipedia.org/wiki/ISO_8601">ISO8601</ulink> + * format. + * + * This field is only applicable if the PDU type is %MM_SMS_PDU_TYPE_STATUS_REPORT. * - * Returns: (transfer full): The name of the timestamp, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). + * Returns: (transfer full): The timestamp, or %NULL if it couldn't be retrieved. The returned value should be freed with g_free(). */ gchar * mm_sms_dup_discharge_timestamp (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), NULL); + g_return_val_if_fail (MM_IS_SMS (self), NULL); RETURN_NON_EMPTY_STRING ( - mm_gdbus_sms_dup_discharge_timestamp (self)); + mm_gdbus_sms_dup_discharge_timestamp (MM_GDBUS_SMS (self))); } +/*****************************************************************************/ + /** * mm_sms_get_validity: * @self: A #MMSms. * - * TODO + * Gets the validity time of the SMS. * - * Returns: TODO + * Returns: the validity time or 0 if unknown. */ guint mm_sms_get_validity (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), 0); + g_return_val_if_fail (MM_IS_SMS (self), 0); - return mm_gdbus_sms_get_validity (self); + return mm_gdbus_sms_get_validity (MM_GDBUS_SMS (self)); } +/*****************************************************************************/ + /** * mm_sms_get_class: * @self: A #MMSms. * - * TODO + * Gets the 3GPP message class of the SMS. * - * Returns: TODO + * Returns: the message class. */ guint mm_sms_get_class (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), 0); + g_return_val_if_fail (MM_IS_SMS (self), 0); - return mm_gdbus_sms_get_class (self); + return mm_gdbus_sms_get_class (MM_GDBUS_SMS (self)); } +/*****************************************************************************/ + /** * mm_sms_get_message_reference: * @self: A #MMSms. * - * TODO + * Gets the message reference of the last PDU sent/received within this SMS. * - * Returns: TODO + * If the PDU type is %MM_SMS_PDU_TYPE_STATUS_REPORT, this field identifies the + * message reference of the PDU associated to the status report. + * + * Returns: The message reference. */ guint mm_sms_get_message_reference (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), 0); + g_return_val_if_fail (MM_IS_SMS (self), 0); - return mm_gdbus_sms_get_message_reference (self); + return mm_gdbus_sms_get_message_reference (MM_GDBUS_SMS (self)); } +/*****************************************************************************/ + +/** + * mm_sms_get_delivery_report_request: + * @self: A #MMSms. + * + * Checks whether delivery report is requested for this SMS. + * + * Returns: %TRUE if delivery report is requested, %FALSE otherwise. + */ gboolean mm_sms_get_delivery_report_request (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), FALSE); + g_return_val_if_fail (MM_IS_SMS (self), FALSE); - return mm_gdbus_sms_get_delivery_report_request (self); + return mm_gdbus_sms_get_delivery_report_request (MM_GDBUS_SMS (self)); } +/*****************************************************************************/ + /** * mm_sms_get_delivery_state: * @self: A #MMSms. * - * TODO + * Gets the delivery state of this SMS. + * + * This field is only applicable if the PDU type is %MM_SMS_PDU_TYPE_STATUS_REPORT. * - * Returns: TODO + * Returns: A #MMSmsDeliveryState specifying the delivery state. */ guint mm_sms_get_delivery_state (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), MM_SMS_DELIVERY_STATE_UNKNOWN); + g_return_val_if_fail (MM_IS_SMS (self), MM_SMS_DELIVERY_STATE_UNKNOWN); - return mm_gdbus_sms_get_delivery_state (self); + return mm_gdbus_sms_get_delivery_state (MM_GDBUS_SMS (self)); } +/*****************************************************************************/ + /** * mm_sms_get_state: * @self: A #MMSms. * - * TODO + * Gets the state of this SMS. * - * Returns: TODO + * Returns: A #MMSmsState specifying the state. */ MMSmsState mm_sms_get_state (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), MM_SMS_STATE_UNKNOWN); + g_return_val_if_fail (MM_IS_SMS (self), MM_SMS_STATE_UNKNOWN); - return mm_gdbus_sms_get_state (self); + return (MMSmsState)mm_gdbus_sms_get_state (MM_GDBUS_SMS (self)); } +/*****************************************************************************/ + /** * mm_sms_get_storage: * @self: A #MMSms. * - * TODO + * Gets the storage in which this SMS is kept. * - * Returns: TODO + * Returns: A #MMSmsStorage specifying the storage. */ MMSmsStorage mm_sms_get_storage (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), MM_SMS_STORAGE_UNKNOWN); + g_return_val_if_fail (MM_IS_SMS (self), MM_SMS_STORAGE_UNKNOWN); - return mm_gdbus_sms_get_storage (self); + return (MMSmsStorage)mm_gdbus_sms_get_storage (MM_GDBUS_SMS (self)); } +/*****************************************************************************/ + /** * mm_sms_get_pdu_type: * @self: A #MMSms. * - * TODO + * Gets the PDU type on which this SMS is based. * - * Returns: TODO + * Returns: A #MMSmsPduType specifying the PDU type. */ MMSmsPduType mm_sms_get_pdu_type (MMSms *self) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), MM_SMS_PDU_TYPE_UNKNOWN); + g_return_val_if_fail (MM_IS_SMS (self), MM_SMS_PDU_TYPE_UNKNOWN); + + return (MMSmsPduType)mm_gdbus_sms_get_pdu_type (MM_GDBUS_SMS (self)); +} + +/*****************************************************************************/ + +/** + * mm_sms_send_finish: + * @self: A #MMSms. + * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mm_sms_send(). + * @error: Return location for error or %NULL. + * + * Finishes an operation started with mm_sms_send(). + * + * Returns: %TRUE if the operation succeded, %FALSE if @error is set. + */ +gboolean +mm_sms_send_finish (MMSms *self, + GAsyncResult *res, + GError **error) +{ + g_return_val_if_fail (MM_IS_SMS (self), FALSE); - return (MMSmsPduType)mm_gdbus_sms_get_pdu_type (self); + return mm_gdbus_sms_call_send_finish (MM_GDBUS_SMS (self), res, error); } /** @@ -437,7 +550,9 @@ mm_sms_get_pdu_type (MMSms *self) * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. * @user_data: User data to pass to @callback. * - * TODO + * Asynchronously requests to queue the message for delivery. + * + * SMS objects can only be sent once. * * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. * You can then call mm_sms_send_finish() to get the result of the operation. @@ -450,57 +565,61 @@ mm_sms_send (MMSms *self, GAsyncReadyCallback callback, gpointer user_data) { - g_return_if_fail (MM_GDBUS_IS_SMS (self)); + g_return_if_fail (MM_IS_SMS (self)); - mm_gdbus_sms_call_send (self, + mm_gdbus_sms_call_send (MM_GDBUS_SMS (self), cancellable, callback, user_data); } /** - * mm_sms_send_finish: + * mm_sms_send_sync: * @self: A #MMSms. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mm_sms_send(). + * @cancellable: (allow-none): A #GCancellable or %NULL. * @error: Return location for error or %NULL. * - * Finishes an operation started with mm_sms_send(). + * Synchronously requests to queue the message for delivery. + * + * SMS objects can only be sent once. * - * Returns: (skip): %TRUE if the operation succeded, %FALSE if @error is set. + * The calling thread is blocked until a reply is received. + * See mm_sms_send() for the asynchronous version of this method. + * + * Returns: %TRUE if the operation succeded, %FALSE if @error is set. */ gboolean -mm_sms_send_finish (MMSms *self, - GAsyncResult *res, - GError **error) +mm_sms_send_sync (MMSms *self, + GCancellable *cancellable, + GError **error) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), FALSE); + g_return_val_if_fail (MM_IS_SMS (self), FALSE); - return mm_gdbus_sms_call_send_finish (self, res, error); + return mm_gdbus_sms_call_send_sync (MM_GDBUS_SMS (self), + cancellable, + error); } +/*****************************************************************************/ + /** - * mm_sms_send_sync: + * mm_sms_store_finish: * @self: A #MMSms. - * @cancellable: (allow-none): A #GCancellable or %NULL. + * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mm_sms_store(). * @error: Return location for error or %NULL. * - * TODO - * - * The calling thread is blocked until a reply is received. - * See mm_sms_send() for the asynchronous version of this method. + * Finishes an operation started with mm_sms_store(). * - * Returns: (skip): %TRUE if the operation succeded, %FALSE if @error is set. + * Returns: %TRUE if the operation succeded, %FALSE if @error is set. */ gboolean -mm_sms_send_sync (MMSms *self, - GCancellable *cancellable, - GError **error) +mm_sms_store_finish (MMSms *self, + GAsyncResult *res, + GError **error) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), FALSE); + g_return_val_if_fail (MM_IS_SMS (self), FALSE); - return mm_gdbus_sms_call_send_sync (self, - cancellable, - error); + return mm_gdbus_sms_call_store_finish (MM_GDBUS_SMS (self), res, error); } /** @@ -511,7 +630,9 @@ mm_sms_send_sync (MMSms *self, * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. * @user_data: User data to pass to @callback. * - * TODO + * Asynchronoulsy requests to store the message in the device if not already done. + * + * SMS objects can only be stored once. * * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. * You can then call mm_sms_store_finish() to get the result of the operation. @@ -525,9 +646,9 @@ mm_sms_store (MMSms *self, GAsyncReadyCallback callback, gpointer user_data) { - g_return_if_fail (MM_GDBUS_IS_SMS (self)); + g_return_if_fail (MM_IS_SMS (self)); - mm_gdbus_sms_call_store (self, + mm_gdbus_sms_call_store (MM_GDBUS_SMS (self), storage, cancellable, callback, @@ -535,38 +656,20 @@ mm_sms_store (MMSms *self, } /** - * mm_sms_store_finish: - * @self: A #MMSms. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mm_sms_store(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mm_sms_store(). - * - * Returns: (skip): %TRUE if the operation succeded, %FALSE if @error is set. - */ -gboolean -mm_sms_store_finish (MMSms *self, - GAsyncResult *res, - GError **error) -{ - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), FALSE); - - return mm_gdbus_sms_call_store_finish (self, res, error); -} - -/** * mm_sms_store_sync: * @self: A #MMSms. * @storage: A #MMSmsStorage specifying where to store the SMS, or #MM_SMS_STORAGE_UNKNOWN to use the default. * @cancellable: (allow-none): A #GCancellable or %NULL. * @error: Return location for error or %NULL. * - * TODO + * Synchronoulsy requests to store the message in the device if not already done. + * + * SMS objects can only be stored once. * * The calling thread is blocked until a reply is received. * See mm_sms_store() for the asynchronous version of this method. * - * Returns: (skip): %TRUE if the operation succeded, %FALSE if @error is set. + * Returns: %TRUE if the operation succeded, %FALSE if @error is set. */ gboolean mm_sms_store_sync (MMSms *self, @@ -574,47 +677,22 @@ mm_sms_store_sync (MMSms *self, GCancellable *cancellable, GError **error) { - g_return_val_if_fail (MM_GDBUS_IS_SMS (self), FALSE); + g_return_val_if_fail (MM_IS_SMS (self), FALSE); - return mm_gdbus_sms_call_store_sync (self, + return mm_gdbus_sms_call_store_sync (MM_GDBUS_SMS (self), storage, cancellable, error); } -void -mm_sms_new (GDBusConnection *connection, - const gchar *path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - return mm_gdbus_sms_proxy_new (connection, - G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START, - MM_DBUS_SERVICE, - path, - cancellable, - callback, - user_data); -} +/*****************************************************************************/ -MMSms * -mm_sms_new_finish (GAsyncResult *res, - GError **error) +static void +mm_sms_init (MMSms *self) { - return mm_gdbus_sms_proxy_new_finish (res, error); } -MMSms * -mm_sms_new_sync (GDBusConnection *connection, - const gchar *path, - GCancellable *cancellable, - GError **error) +static void +mm_sms_class_init (MMSmsClass *sms_class) { - return mm_gdbus_sms_proxy_new_sync (connection, - G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START, - MM_DBUS_SERVICE, - path, - cancellable, - error); } |