ExtendedMTMIDS.hrh File Reference


Defines

#define KUidMsvMtmQuerySupportLinks   0x100059D4
 UIDs for quering capabilities from MTMs (CBaseMtmUiData).
#define KUidMsvMtmQuerySupportValidateService   0x10005A11
#define KUidMsvMtmQuerySupportEditor   0x101FD692
#define KMtmUiMceSettings   0x00203004
 Function ids for custom MTM commands.
#define KMtmUiFunctionValidateService   0x00203006
#define KMtmUiFunctionSettingsWizard   0x00203013
#define KMtmUiFirstFreeMtmSpecificFunction   0x00300000

Define Documentation

#define KMtmUiFirstFreeMtmSpecificFunction   0x00300000
 
#define KMtmUiFunctionSettingsWizard   0x00203013
 
#define KMtmUiFunctionValidateService   0x00203006
 
#define KMtmUiMceSettings   0x00203004
 

Function ids for custom MTM commands.

For MTM specific command ids use consecutive numbering starting from KMtmUiFirstFreeMtmSpecificFunction.

How to use:

Define custom commands in resources:

 RESOURCE MTUD_FUNCTION_ARRAY r_my_mtm_function_array
     {
     functions =
         {
         // Settings to be shown in Message Center
         MTUD_FUNCTION 
             {
             functiontext = "My settings";
             command = KMtmUiMceSettings;
             flags = EMtudCommandTransferSend;
             } 
         // Settings wizard to be shown in Email Wizard UI
         MTUD_FUNCTION 
             {
             functiontext = "My wizard";
             command = KMtmUiFunctionSettingsWizard;
             flags = EMtudCommandTransferSend;
             }
          ...
          }
     }

Implement functionality in the UI MTM (CBaseMtmUi)

 void CMyMtmUi::InvokeSyncFunctionL( TInt aFunctionId,
                                     const CMsvEntrySelection& aSelection,
                                     TDes8& aParameter)
     {
     switch ( aFunctionId )
         {
         case KMtmUiFunctionValidateService:
             {
             // Validate service
             ...
             // Service valid
             TPckgBuf<TInt> resultPackage( KErrNone );
             aParameter.Copy( resultPackage );
             break;
             }
         case KMtmUiFunctionSettingsWizard:
             {
             // Show settings wizard
             ...
             // Wizard completed successfully
             TPckgBuf<TInt> resultPackage( 1 );
             aParameter.Copy( resultPackage );
             break;
             }
         }
     }

"KMtmUiMceSettings" command is handled in a special way. The MTUD_FUNCTION is only used for registration purposes. The actual settings dialog is launched by calling "CBaseMtmUi::EditL" for the service entry of the corresponding MTM.

 CMsvOperation* CMyMtmUi::EditL( TRequestStatus& aStatus )
     {
     switch ( iBaseMtm.Entry().Entry().iType.iUid )
         {
         case KUidMsvServiceEntryValue:
             {
             // Open settings dialog
             return OpenServiceSettingsDialogOperationL( aStatus );
             }
         ...
         }
     }
#define KUidMsvMtmQuerySupportEditor   0x101FD692
 
#define KUidMsvMtmQuerySupportLinks   0x100059D4
 

UIDs for quering capabilities from MTMs (CBaseMtmUiData).

How to use:

 #include <ExtendedMTMIDS.hrh>

 TInt CMyMtmUiData::QueryCapability( TUid aFunctionId, TInt& aResponse ) const
     {
     ...
     switch ( aFunctionId.iUid )
         {
         // MTM supports linked attachments:
         case KUidMsvMtmQuerySupportLinks:
             {
             aResponse = ETrue;
             return KErrNone;
             }
         // MTM supports service validation:
         case KUidMsvMtmQuerySupportValidateService:
             {
             aResponse = ETrue;
             return KErrNone;
             }
         // MTM supports editor:
         case KUidMsvMtmQuerySupportEditor:
             {
             aResponse = ETrue;
             return KErrNone;
             }
         ...
         } 
     ...
     }
#define KUidMsvMtmQuerySupportValidateService   0x10005A11
 

Copyright © Nokia Corporation 2001-2007
Back to top