This section provides a summary of the classes and the functionality provided by the SMSU. The SMS Utility (SMSU) is a DLL. The SMSU provides utility functionality for SMS messages.
The SMSU creates the buffers, read streams and write streams required for the SMS stack. The SMSU creates a temporary buffer of 256 bytes to store the Protocol Data Units (PDU)s in the SMS stack. The PDUs are processed by the SMS stack in the temporary buffers.
SMSU provides the required functionality to log the events using the Log engine. The SMS stack logs all the sent and received messages using the Log engine. The Log engine is used by the User Interface (UI) implementers to display the log to the users. Client can use this functionality, only if the Log engine is installed in a device.
The TSmsAddr of the SMSU provides methods to store the SMS address values. The SMS addresses are stored in a TSmsAddrFamily type. The TSmsAddr also enables the SMS stack to bind the packets to the socket server using the parameters defined in TSmsAddr. TSmsAddr::SetSmsAddrFamily() can be used to define the socket and port to bind the packets. The enumeration table for SMS socket address family:
Enumeration | Socket customisation |
---|---|
ESmsAddrUnbound | Unbound socket. |
ESmsAddrSendOnly | Socket can only send and cannot receive any messages. |
ESmsAddrMatchIEI | To match Information Element Identifiers (IEI). |
ESmsAddrMessageIndication | To match on IEI 0x01 and DCS 0x1100xxxx, 0x1101xxxx and 0x1110xxxx. |
ESmsAddrMatchText | To match any text patterns |
ESmsAddrRecvAny | To receive all messages. Only one client can use this. |
ESmsAddrStatusReport | To receive Status Reports. |
ESmsAddrLocalOperation | Socket for local SIM operations. |
ESmsAddrApplication8BitPort | Socket for sock port identification. |
ESmsAddrApplication16BitPort | Socket for sock port identification. |
ESmsAddrEmail | To match email messages. |
TSmsSettings
define the variables used by the SMS stack. The variables are initialised during the creation of the SMS stack. The variables in TSmsSettings
are initialised with the values defined in the smswap.sms.esk
file.