summaryrefslogtreecommitdiff
path: root/src/mm-sms-part.h
AgeCommit message (Collapse)AuthorFilesLines
2020-09-19core: add autoptr cleanup methods to all internal typesAleksander Morgado1-0/+2
2020-08-20sms-part-3gpp: allow sending UTF-16 as if it were UCS-2Aleksander Morgado1-1/+17
Despite 3GPP TS 23.038 specifies that Unicode SMS messages are encoded in UCS-2, UTF-16 encoding is commonly used instead on many modern platforms to allow encoding code points that fall outside the Basic Multilingual Plane (BMP), such as Emoji. Update the logic to always use UTF-16 instead of UCS-2 when creating or parsing PDUs (even if we always report as sending or receiving UCS-2). For all purposes, UCS-2 is considered a subset of UTF-16 (assuming that code points out of the [U+0000,U+D7FF] and [U+E000,U+FFFF] ranges are not applicable in UCS-2). Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/250
2017-12-18libhelpers: include MMSmsEncoding in helper enums generationAleksander Morgado1-2/+2
2013-10-25sms-qmi: handle CDMA SMS messagesAleksander Morgado1-0/+8
2013-10-25sms-part: handle CDMA teleservice ID and service categoryAleksander Morgado1-0/+8
2013-10-25sms: split SMS part handling into common and 3GPP-specificAleksander Morgado1-25/+0
2013-05-06sms: add support for message classDan Williams1-2/+2
We need to redefine the message class property to int since class 0 is a valid message class. Thus -1 now means "unspecified class".
2013-04-05api,introspection: update 'Validity' property in the SMS interfaceAleksander Morgado1-2/+2
We don't want to support only 'relative' validity, so don't assume that the Validity property will always be a uint32 value. Instead, we define the Validity propery as '(uv)' tuple, where the first value (a MMSmsValidityType) specifies the type of validity, and the second value is a variant formatted accordingly to what the validity type specifies (e.g. a uint32 value if the type is MM_SMS_VALIDITY_TYPE_RELATIVE).
2012-09-14sms: create SMS parts only when storing or sendingAleksander Morgado1-1/+2
When a user creates an SMS object, we will expose all its properties in DBus properly, but we will not create the internal list of SMS parts. The list of SMS parts will be created when the SMS is stored or sent, whatever comes first. When the message is sent and it was previously stored, the list of parts is not re-created. If the message requires multiple parts, the multipart reference is computed as follows: * If the SMS was not stored and is being sent, we just use a random number. * If the SMS is being stored, we will use a multipart reference which is not being used already in another SMS to the same destination.
2012-09-14sms: 'Text' and 'Data' will never be given at the same timeAleksander Morgado1-0/+2
When receiving an SMS, if the encoding is either GSM7 or UCS2, we will treat the contents of the SMS as text; and if the encoding is either 8BIT or unknown, we will just dump the contents of the SMS as data. When creating an SMS, the user is not allowed to give both text and data, only one can be given. We will use by default 8BIT when data is given, and guess the best encoding if text is given. Note that it's still possible to have SMS with neither text nor data, as in delivery status reports. This commit also handles the split of the input data in order to make it fit into singlepart or multipart messages.
2012-09-14sms-part: don't keep track of the whole TP-DCS valueAleksander Morgado1-4/+0
We already retrieve the bits we use from it, class and encoding.
2012-09-14api: new `DeliveryState' property in the SMS interfaceAleksander Morgado1-0/+4
Given only for STATUS REPORT SMS messages.
2012-09-14api: new `MessageReference' property in the SMS interfaceAleksander Morgado1-0/+4
Message reference allows to match a sent SMS with its corresponding delivery report, if requested.
2012-09-14api: new `DischargeTimestamp' property for Status Report SMS messagesAleksander Morgado1-0/+6
2012-09-14api: new `PduType' property in the SMS interfaceAleksander Morgado1-1/+7
It will help deciding the type of message.
2012-09-14api: new `Sms.DeliveryReportRequest' propertyAleksander Morgado1-0/+4
Also allowing the 'delivery-report-request' key in the `Messaging.CreateSms()' method.
2012-09-14sms-part: new util to split input text string into chunks to fit in PDUsAleksander Morgado1-0/+3
2012-09-14sms-part: allow storing and accessing the user encoding info of an SMS partAleksander Morgado1-0/+11
2012-09-06sms-part: new `mm_sms_part_new_from_binary_pdu()' methodAleksander Morgado1-0/+4
2012-03-15sms-part: include the submit-pdu building codeAleksander Morgado1-0/+11
It currently doesn't do multi-part. When do support that, we may end up needing to move all this code to mm-sms.c
2012-03-15sms-part: allow reseting part indexAleksander Morgado1-0/+2
so that we can for example, tell the index is INVALID
2012-03-15sms-part: new symbol to define invalid indexesAleksander Morgado1-0/+1
SMS parts with invalid indexes are NOT stored yet in the device
2012-03-15sms-part: include validityAleksander Morgado1-0/+4
2012-03-15sms-part: allow creating MMSmsParts not only from parsing a PDUAleksander Morgado1-4/+44
2012-03-15sms-part: new method to check if the part is from a multipart messageAleksander Morgado1-3/+5
2012-03-15sms-part: new struct to handle parsed SMS partsAleksander Morgado1-0/+43