epoc32/include/app/extendedmtmids.hrh
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     3
* All rights reserved.
williamr@2
     4
* This component and the accompanying materials are made available
williamr@2
     5
* 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
williamr@2
     6
* which accompanies this distribution, and is available
williamr@2
     7
* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     8
*
williamr@2
     9
* Initial Contributors:
williamr@2
    10
* Nokia Corporation - initial contribution.
williamr@2
    11
*
williamr@2
    12
* Contributors:
williamr@2
    13
*
williamr@2
    14
* Description:  
williamr@2
    15
*     Defines sdk extended capabilities
williamr@2
    16
*
williamr@2
    17
*/
williamr@2
    18
williamr@2
    19
williamr@2
    20
williamr@2
    21
#ifndef __EXTENDEDMTMIDS_HRH__
williamr@2
    22
#define __EXTENDEDMTMIDS_HRH__
williamr@2
    23
williamr@2
    24
/**
williamr@2
    25
 * UIDs for quering capabilities from MTMs (CBaseMtmUiData)
williamr@2
    26
 *
williamr@2
    27
 * How to use:
williamr@2
    28
 *
williamr@2
    29
 * @code
williamr@2
    30
 * #include <ExtendedMTMIDS.hrh>
williamr@2
    31
 *
williamr@2
    32
 * TInt CMyMtmUiData::QueryCapability( TUid aFunctionId, TInt& aResponse ) const
williamr@2
    33
 *     {
williamr@2
    34
 *     ...
williamr@2
    35
 *     switch ( aFunctionId.iUid )
williamr@2
    36
 *         {
williamr@2
    37
 *         // MTM supports linked attachments:
williamr@2
    38
 *         case KUidMsvMtmQuerySupportLinks:
williamr@2
    39
 *             {
williamr@2
    40
 *             aResponse = ETrue;
williamr@2
    41
 *             return KErrNone;
williamr@2
    42
 *             }
williamr@2
    43
 *         // MTM supports service validation:
williamr@2
    44
 *         case KUidMsvMtmQuerySupportValidateService:
williamr@2
    45
 *             {
williamr@2
    46
 *             aResponse = ETrue;
williamr@2
    47
 *             return KErrNone;
williamr@2
    48
 *             }
williamr@2
    49
 *         // MTM supports editor:
williamr@2
    50
 *         case KUidMsvMtmQuerySupportEditor:
williamr@2
    51
 *             {
williamr@2
    52
 *             aResponse = ETrue;
williamr@2
    53
 *             return KErrNone;
williamr@2
    54
 *             }
williamr@2
    55
 *         ...
williamr@2
    56
 *         } 
williamr@2
    57
 *     ...
williamr@2
    58
 *     }
williamr@2
    59
 * @endcode
williamr@2
    60
 *
williamr@2
    61
 */
williamr@2
    62
#define KUidMsvMtmQuerySupportLinks                 0x100059D4 // response true/false
williamr@2
    63
#define KUidMsvMtmQuerySupportValidateService       0x10005A11 // response true/false
williamr@2
    64
#define KUidMsvMtmQuerySupportEditor                0x101FD692 // response true/false
williamr@2
    65
williamr@2
    66
williamr@2
    67
/**
williamr@2
    68
 * Function ids for custom MTM commands
williamr@2
    69
 *
williamr@2
    70
 * For MTM specific command ids use consecutive numbering starting from
williamr@2
    71
 * KMtmUiFirstFreeMtmSpecificFunction.
williamr@2
    72
 *
williamr@2
    73
 * How to use:
williamr@2
    74
 *
williamr@2
    75
 * Define custom commands in resources:
williamr@2
    76
 *
williamr@2
    77
 * @code
williamr@2
    78
 *
williamr@2
    79
 * RESOURCE MTUD_FUNCTION_ARRAY r_my_mtm_function_array
williamr@2
    80
 *     {
williamr@2
    81
 *     functions =
williamr@2
    82
 *         {
williamr@2
    83
 *         // Settings to be shown in Message Center
williamr@2
    84
 *         MTUD_FUNCTION 
williamr@2
    85
 *             {
williamr@2
    86
 *             functiontext = "My settings";
williamr@2
    87
 *             command = KMtmUiMceSettings;
williamr@2
    88
 *             flags = EMtudCommandTransferSend;
williamr@2
    89
 *             } 
williamr@2
    90
 *         // Settings wizard to be shown in Email Wizard UI
williamr@2
    91
 *         MTUD_FUNCTION 
williamr@2
    92
 *             {
williamr@2
    93
 *             functiontext = "My wizard";
williamr@2
    94
 *             command = KMtmUiFunctionSettingsWizard;
williamr@2
    95
 *             flags = EMtudCommandTransferSend;
williamr@2
    96
 *             }
williamr@2
    97
 *          ...
williamr@2
    98
 *          }
williamr@2
    99
 *     }
williamr@2
   100
 *
williamr@2
   101
 * @endcode
williamr@2
   102
 *
williamr@2
   103
 * Implement functionality in the UI MTM (CBaseMtmUi)
williamr@2
   104
 *
williamr@2
   105
 * @code
williamr@2
   106
 * void CMyMtmUi::InvokeSyncFunctionL( TInt aFunctionId,
williamr@2
   107
 *                                     const CMsvEntrySelection& aSelection,
williamr@2
   108
 *                                     TDes8& aParameter)
williamr@2
   109
 *     {
williamr@2
   110
 *     switch ( aFunctionId )
williamr@2
   111
 *         {
williamr@2
   112
 *         case KMtmUiFunctionValidateService:
williamr@2
   113
 *             {
williamr@2
   114
 *             // Validate service
williamr@2
   115
 *             ...
williamr@2
   116
 *             // Service valid
williamr@2
   117
 *             TPckgBuf<TInt> resultPackage( KErrNone );
williamr@2
   118
 *             aParameter.Copy( resultPackage );
williamr@2
   119
 *             break;
williamr@2
   120
 *             }
williamr@2
   121
 *         case KMtmUiFunctionSettingsWizard:
williamr@2
   122
 *             {
williamr@2
   123
 *             // Show settings wizard
williamr@2
   124
 *             ...
williamr@2
   125
 *             // Wizard completed successfully
williamr@2
   126
 *             TPckgBuf<TInt> resultPackage( 1 );
williamr@2
   127
 *             aParameter.Copy( resultPackage );
williamr@2
   128
 *             break;
williamr@2
   129
 *             }
williamr@2
   130
 *         }
williamr@2
   131
 *     }
williamr@2
   132
 *
williamr@2
   133
 * @endcode
williamr@2
   134
 *
williamr@2
   135
 * "KMtmUiMceSettings" command is handled in a special way. The MTUD_FUNCTION is only
williamr@2
   136
 * used for registration purposes. The actual settings dialog is launched by 
williamr@2
   137
 * calling "CBaseMtmUi::EditL" for the service entry of the corresponding MTM.
williamr@2
   138
 *
williamr@2
   139
 * @code
williamr@2
   140
 *
williamr@2
   141
 * CMsvOperation* CMyMtmUi::EditL( TRequestStatus& aStatus )
williamr@2
   142
 *     {
williamr@2
   143
 *     switch ( iBaseMtm.Entry().Entry().iType.iUid )
williamr@2
   144
 *         {
williamr@2
   145
 *         case KUidMsvServiceEntryValue:
williamr@2
   146
 *             {
williamr@2
   147
 *             // Open settings dialog
williamr@2
   148
 *             return OpenServiceSettingsDialogOperationL( aStatus );
williamr@2
   149
 *             }
williamr@2
   150
 *         ...
williamr@2
   151
 *         }
williamr@2
   152
 *     }
williamr@2
   153
 *
williamr@2
   154
 * @endcode
williamr@2
   155
 */
williamr@2
   156
#define KMtmUiMceSettings                           0x00203004
williamr@2
   157
#define KMtmUiFunctionValidateService               0x00203006
williamr@2
   158
#define KMtmUiFunctionSettingsWizard                0x00203013
williamr@2
   159
#define KMtmUiFirstFreeMtmSpecificFunction          0x00300000
williamr@2
   160
williamr@2
   161
#endif // __EXTENDEDMTMIDS_HRH__
williamr@2
   162
williamr@2
   163
// End of file