Symbian3/PDK/Source/GUID-EFBBB53F-8402-5010-8B8D-96D0FC46F784.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
parent 14 578be2adaf3e
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE task
  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task xml:lang="en" id="GUID-EFBBB53F-8402-5010-8B8D-96D0FC46F784"><title>Creating a Custom Command</title><shortdesc>This section describes the how to create custom command. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody><context><p>Custom commands are plug-in DLLs implementing the <xref href="GUID-DEDD8780-C422-3239-ACDC-A66D209992E6.dita"><apiname>MSsmCustomCommand</apiname></xref> interface. </p> </context> <steps id="GUID-E5D9F2F1-2711-51DB-A9D7-82464B2FF48B"><step id="GUID-2E0CA68F-E250-58FE-8EF7-6F515318028A"><cmd/><info>Define the <codeph>MSsmCustomCommand</codeph> class as illustrated in the code sinppet. </info> <stepxmp><codeblock id="GUID-2EE1ABB8-1A9D-5687-AE84-8C17E778C981" xml:space="preserve">
class CreateCustomCommand : public MSsmCustomCommand
{
    public:
       CreateCustomCommand();
       ~CreateCustomCommand();
       TInt Initialize( CSsmCustomCommandEnv* aCmdEnv );
       void Execute( const TDesC8&amp; aParams, TRequestStatus&amp; aRequest );
       void Close();
       void ExecuteCancel();
};
</codeblock> </stepxmp> </step> <step id="GUID-FBD78913-AFC0-5F6D-B40E-4C8513506C59"><cmd/><info>Create the custom command as shown in the code sinppet. </info> <stepxmp><codeblock id="GUID-A67C4FD1-7A6B-5054-8AFA-0C18CF5E6DC0" xml:space="preserve">CreateCustomCommand::CreateCustomCommand()</codeblock> </stepxmp> <info> Note: A device deadlock occurs when <codeph>User::WaitForRequest(...)</codeph> is called within the implementation of a custom command. Therefore, this function call must not be used within a custom command as this deadlock can prevent the SSM from functioning. </info> </step> </steps> </taskbody><related-links><link href="GUID-F14A2C1F-7803-5D93-B871-6AAC30F50115.dita"><linktext>Calling a Custom Command</linktext> </link> <link href="GUID-63F2124B-9B41-58D8-9439-CE4D8C3503D8.dita"><linktext>Running a Custom Command</linktext> </link> </related-links></task>