1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/app/smscmds.h Wed Mar 31 12:27:01 2010 +0100
1.3 @@ -0,0 +1,329 @@
1.4 +// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +#ifndef __SMSCMDS_H__
1.20 +#define __SMSCMDS_H__
1.21 +
1.22 +#include <e32def.h>
1.23 +
1.24 +/**
1.25 +Numeric value of the first SMS-specific command.
1.26 +
1.27 +This is only used by TSmsMtmCommand.
1.28 +
1.29 +@see TSmsMtmCommand
1.30 +
1.31 +@internalComponent
1.32 +@released
1.33 +*/
1.34 +const TInt KMinCommandExpected = 10000;
1.35 +
1.36 +/**
1.37 +The SMS-specific commands that can be issued through CSmsClientMtm::InvokeAsyncFunctionL.
1.38 +
1.39 +SMS messages can be stored in a medium other than the message store itself. For
1.40 +instance, SMS messages can be stored on the SIM card. This alternative storage
1.41 +is referred to as the phone store.
1.42 +
1.43 +Some of the commands defined allow the contents of the phone store to accessed
1.44 +and manipulated.
1.45 +
1.46 +@see CSmsClientMtm::InvokeAsyncFunctionL
1.47 +@see CSmsClientMtm::ReadSimParamsL
1.48 +@see CSmsClientMtm::WriteSimParamsL
1.49 +@see TSmsProgress
1.50 +
1.51 +@publishedAll
1.52 +@released
1.53 +*/
1.54 +enum TSmsMtmCommand
1.55 + {
1.56 +/**
1.57 +Gets the service centre address (i.e. telephone number) from the GSM handset.
1.58 +
1.59 +The result may be retrieved from the iServiceCenterAddress member variable
1.60 +in the TSmsProgress progress object for this operation.
1.61 +
1.62 +The aSelection and aParameter arguments are not used by this command, except
1.63 +that aSelection must contain at least one member, preferably the SMS Service
1.64 +ID.
1.65 +
1.66 +If the telephone handset is unable to supply the service centre address, then
1.67 +the progress object for this operation will contain the error.
1.68 +
1.69 +NOTE - ESmsMtmCommandReadServiceCenter should only be used if the telephone
1.70 +handset or TSY module does not support reading the SMS parameters on the SIM.
1.71 +ESmsMtmCommandReadServiceCenter should only be used if the operation
1.72 +returned by CSmsClientMtm::ReadSimParamsL completes with KErrNotSupported.
1.73 +
1.74 +@removed
1.75 +This command is not supported from v7.0. The function CSmsClientMtm::ReadSimParamsL
1.76 +should be used instead to obtain Service Centre number from the phone store.
1.77 +
1.78 +@see CSmsClientMtm::ReadSimParamsL
1.79 +@see TSmsProgress
1.80 +*/
1.81 + ESmsMtmCommandReadServiceCenter = KMinCommandExpected,
1.82 +
1.83 +/**
1.84 +Sets a new service centre address (i.e. telephone number) on the GSM handset.
1.85 +
1.86 +The new telephone number is passed in aParameter as an 8-bit descriptor containing
1.87 +a packaged TSmsServiceCenterAddress.
1.88 +
1.89 +The aSelection parameter argument is not used by this command, except that
1.90 +aSelection must contain at least one member, preferably the SMS Service ID.
1.91 +
1.92 +@removed
1.93 +This command is not supported from v7.0. The function CSmsClientMtm::WriteSimParamsL
1.94 +should be used instead to write the Service Centre number to the phone store.
1.95 +
1.96 +@see CSmsClientMtm::WriteSimParamsL
1.97 +@see TSmsServiceCenterAddress
1.98 +*/
1.99 + ESmsMtmCommandWriteServiceCenter,
1.100 +
1.101 +/**
1.102 +Schedules the selected SMS messages to be sent.
1.103 +
1.104 +The aSelection argument contains the TMsvId of the SMS messages to be sent. An
1.105 +empty selection will cause a panic in debug mode. In release mode nothing will
1.106 +happen.
1.107 +
1.108 +The time that each message is scheduled to be sent is set by the date field in
1.109 +the TMsvEntry for that message. Each message in the selection must have the same
1.110 +scheduled time as the first message in the selection. A send task is scheduled
1.111 +to occur at this time.
1.112 +
1.113 +In debug mode a panic will occur if all the messages in the selection do not
1.114 +have the safe scheduled time. In release mode, the scheduled time sending all
1.115 +the messages in the selection will be that of the last message in the selection.
1.116 +
1.117 +When the scheduled task occurs not only will the selected messages be sent but
1.118 +also any waiting SMS messages in the Outbox.
1.119 +
1.120 +If the messages are successfully sent by the scheduled task, then all the sent
1.121 +messages are moved to the Sent folder.
1.122 +
1.123 +If any message fails to be sent then the message is marked as failed. Also it
1.124 +may be re-scheduled to be sent at a later time if that particular error has been
1.125 +specified as a re-schedulable error. The message remains in its current folder.
1.126 +
1.127 +The aParameter agrument is not used.
1.128 +
1.129 +@see CMsvSession::TransferCommandL
1.130 +
1.131 +@see CBaseMtm::InvokeAsyncCommandL
1.132 +
1.133 +*/
1.134 + ESmsMtmCommandScheduleCopy,
1.135 +
1.136 +/**
1.137 +Not supported by the SMS MTM.
1.138 +
1.139 +@internalComponent
1.140 +*/
1.141 + ESmsMtmCommandScheduleMove,
1.142 +
1.143 +/**
1.144 +Removes all messages specified in aSelection from the task scheduler list.
1.145 +
1.146 +If successful, the messages will have their SendingState() set to KMsvSendStateSuspended
1.147 +on completion of this operation.
1.148 +
1.149 +The aParameter argument is not used by this function.
1.150 +
1.151 +@see TMsvEntry::SendingState()
1.152 +*/
1.153 + ESmsMtmCommandDeleteSchedule,
1.154 +
1.155 +/**
1.156 +Checks the current scheduled status of the messages specified by aSelection.
1.157 +
1.158 +If successful, the Scheduled() and iDate members of each TMsvEntry identified
1.159 +in the selection will be changed to represent that messages's current status.
1.160 +
1.161 +The aParameter argument is not used by this function.
1.162 +
1.163 +@see TMsvEntry
1.164 +*/
1.165 + ESmsMtmCommandCheckSchedule,
1.166 +
1.167 +/**
1.168 +Starts sending the specified selection of SMS messages.
1.169 +
1.170 +When a selection of SMS messages are scheduled to be sent using the ESmsMtmCommandScheduleCopy
1.171 +command this is the actual command that is executed the scheduled time occurs.
1.172 +
1.173 +The SMS server MTM creates a package contain this command. The package is passed
1.174 +to the task scheduler who then passes it to the schedule send exe. The exe then
1.175 +uses the package to ask the SMS server MTM to send the messages. As such this
1.176 +command should not be used be external clients.
1.177 +
1.178 +When the scheduled task occurs not only will the selected messages be sent but
1.179 +also any waiting SMS messages in the Outbox.
1.180 +
1.181 +If the messages are successfully sent by the scheduled task, then all the sent
1.182 +messages are moved to the Sent folder.
1.183 +
1.184 +If any message fails to be sent then the message is marked as failed. Also it
1.185 +may be re-scheduled to be sent at a later time if that particular error has been
1.186 +specified as a re-schedulable error. The message remains in its current folder.
1.187 +
1.188 +@internalComponent
1.189 +*/
1.190 + ESmsMtmCommandSendScheduledCopy,
1.191 +
1.192 +/**
1.193 +Not supported by the SMS MTM.
1.194 +
1.195 +@internalComponent
1.196 +*/
1.197 + ESmsMtmCommandSendScheduledMove,
1.198 +
1.199 +/**
1.200 +Reads the SMS messages on the phone store and creates a copy of those messages
1.201 +in an invisible folder under the SMS service in the message store.
1.202 +
1.203 +If successful, the iEnumerateFolder member of the operation's progress will
1.204 +identify the invisible folder which contains the messages read from the phone
1.205 +store.
1.206 +
1.207 +The aSelection argument must contain at least the SMS servive ID. The aParameter
1.208 +argument can optionally be a TPckgC containing the ID of an existing folder to
1.209 +use for the enumeration. The contents of this folder will be replaced with the
1.210 +current messages in the phone store.
1.211 +
1.212 +The operation will fail with KErrArgument if the ID in aParameter is one of the
1.213 +following - KMsvRootIndexEntryId, KMsvLocalServiceIndexEntryId, KMsvGlobalInBoxIndexEntryId,
1.214 +KMsvGlobalOutBoxIndexEntryId, KMsvDraftEntryId or KMsvSentEntryId.
1.215 +
1.216 +This command must be called before using ESmsMtmCommandCopyFromPhoneStore,
1.217 +ESmsMtmCommandMoveFromPhoneStore or ESmsMtmCommandDeleteFromPhoneStore.
1.218 +
1.219 +Pre v7.0, this was named ESmsMtmCommandEnumerateSim.
1.220 +
1.221 +@see TSmsProgress
1.222 +*/
1.223 + ESmsMtmCommandEnumeratePhoneStores,
1.224 +
1.225 +/**
1.226 +Moves the messages identified in aSelection to the folder identified in aParameter
1.227 +(e.g. the inbox).
1.228 +
1.229 +The associated SMS messages are not deleted from the phone store.
1.230 +
1.231 +The first entry ID in aSelection must be the SMS service ID. All following
1.232 +entry IDs in the selection must then represent each message to be transferred.
1.233 +aParameter should contain a packaged TMsvId, which identifies the folder to
1.234 +which the messages in aSelection will be moved.
1.235 +
1.236 +The command ESmsMtmCommandEnumeratePhoneStores must be called before using
1.237 +this command.
1.238 +
1.239 +Pre v7.0, this was named ESmsMtmCommandCopyFromSim.
1.240 +
1.241 +@see TSmsMtmCommand::ESmsMtmCommandEnumeratePhoneStores
1.242 +*/
1.243 + ESmsMtmCommandCopyFromPhoneStore,
1.244 +
1.245 +/**
1.246 +Moves the messages identified in aSelection to the folder identified in aParameter
1.247 +(e.g. the inbox), and then deletes the messages from the phone store.
1.248 +
1.249 +The first entry ID in aSelection must be the SMS service ID. All following
1.250 +entry IDs in the selection must then represent each message to be transferred.
1.251 +aParameter should contain a packaged TMsvId, which identifies the folder to
1.252 +which the messages in aSelection will be moved.
1.253 +
1.254 +The command ESmsMtmCommandEnumeratePhoneStores must be called before using
1.255 +this command.
1.256 +
1.257 +Pre v7.0, this was named ESmsMtmCommandMoveFromSim.
1.258 +
1.259 +@see TSmsMtmCommand::ESmsMtmCommandEnumeratePhoneStores
1.260 +*/
1.261 + ESmsMtmCommandMoveFromPhoneStore,
1.262 +
1.263 +/**
1.264 +Deletes the specified messages from the phone store.
1.265 +
1.266 +The first entry ID in aSelection must be the SMS service ID. All following
1.267 +entry IDs in the selection must then represent each message to be deleted.
1.268 +aParameter is not used.
1.269 +
1.270 +The command ESmsMtmCommandEnumeratePhoneStores must be called before using
1.271 +this command.
1.272 +
1.273 +Pre v7.0, this was named ESmsMtmCommandDeleteFromSim.
1.274 +
1.275 +@see TSmsMtmCommand::ESmsMtmCommandEnumeratePhoneStores
1.276 +*/
1.277 + ESmsMtmCommandDeleteFromPhoneStore,
1.278 +
1.279 +/**
1.280 +Reads the SIM parameters.
1.281 +
1.282 +This should not be used in the CSmsClientMtm::InvokeAsyncFunctionL function. The
1.283 +CSmsClientMtm::ReadSimParamsL function should be used to read the SIM parameters.
1.284 +
1.285 +@see CSmsClientMtm::ReadSimParamsL
1.286 +
1.287 +@internalComponent
1.288 +*/
1.289 + ESmsMtmCommandReadSimParams,
1.290 +
1.291 +/**
1.292 +Writes the specified SIM parameters.
1.293 +
1.294 +This should not be used in the CSmsClientMtm::InvokeAsyncFunctionL function. The
1.295 +CSmsClientMtm::WriteSimParamsL function should be used to write the SIM parameters.
1.296 +
1.297 +@see CSmsClientMtm::WriteSimParamsL
1.298 +
1.299 +@internalComponent
1.300 +*/
1.301 + ESmsMtmCommandWriteSimParams,
1.302 +
1.303 +/**
1.304 +Copies the SMS messages identified in aSelection to the phone store.
1.305 +
1.306 +The first entry ID in aSelection must be the SMS service ID. All following
1.307 +entry IDs in the selection must then represent each message to be copied.
1.308 +Single message with multiple recipients is copied onto SIM as multiple messages,
1.309 +one message for each recipient.Copy/Move from SIM will result in multiple messages,
1.310 +single message will not be reformed out of the mutiple messages on SIM.
1.311 +
1.312 +
1.313 +Pre v7.0, this was named ESmsMtmCommandCopyToSim.
1.314 +*/
1.315 + ESmsMtmCommandCopyToPhoneStore,
1.316 +
1.317 +/**
1.318 +Moves the SMS messages identified in aSelection to the phone store.
1.319 +
1.320 +The first entry ID in aSelection must be the SMS service ID. All following
1.321 +entry IDs in the selection must then represent each message to be moved.
1.322 +SSingle message with multiple recipients is moved onto SIM as multiple messages,
1.323 +one message for each recipient.Copy/Move from SIM will result in multiple messages,
1.324 +single message will not be reformed out of the mutiple messages on SIM.
1.325 +
1.326 +
1.327 +Pre v7.0, this was named ESmsMtmCommandMoveToSim.
1.328 +*/
1.329 + ESmsMtmCommandMoveToPhoneStore
1.330 + };
1.331 +
1.332 +#endif // __SMSCMDS_H__