btobexprofiles/obexserviceman/utils/inc/obexutilsuilayer.h
author hgs
Fri, 28 May 2010 17:03:06 +0300
changeset 32 19bd632b5100
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: 
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#ifndef COBEXUTILSUILAYER_H
hgs
parents:
diff changeset
    20
#define COBEXUTILSUILAYER_H
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
//  INCLUDES
hgs
parents:
diff changeset
    23
#include <e32base.h>
hgs
parents:
diff changeset
    24
#include <msvapi.h>
hgs
parents:
diff changeset
    25
#include <data_caging_path_literals.hrh> 
hgs
parents:
diff changeset
    26
#include <AknsUtils.h> 
hgs
parents:
diff changeset
    27
#include <eikdialg.h>
hgs
parents:
diff changeset
    28
#include <Obexutils.rsg>
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
// CONSTANTS
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
const TUid KUidMsgTypeBt                 = {0x10009ED5};
hgs
parents:
diff changeset
    33
const TInt KObexUtilsMaxChar             = 80;
hgs
parents:
diff changeset
    34
const TInt KObexUtilsMaxCharToFromField  = 256;
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// Literals for resource location (drive, directory, file)
hgs
parents:
diff changeset
    37
_LIT( KObexUtilsFileDrive, "z:");
hgs
parents:
diff changeset
    38
_LIT( KObexUtilsResourceFileName, "obexutils.rsc" );
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
// Icon file
hgs
parents:
diff changeset
    41
_LIT( KCommonUiBitmapFile, "MUIU.MBM" );
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
// Cover display
hgs
parents:
diff changeset
    44
const TInt KEnumStart = 1;  // start of enumerations; start after ECmdNone
hgs
parents:
diff changeset
    45
const TInt KResourceNumberMask = 0x00000FFF;
hgs
parents:
diff changeset
    46
const TInt KFirstResourceOffset = (R_IR_CONNECTING & KResourceNumberMask);
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
class CMsvOperation;
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
// DATA TYPES
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
enum TContextMedia
hgs
parents:
diff changeset
    53
    {
hgs
parents:
diff changeset
    54
    EBluetooth,
hgs
parents:
diff changeset
    55
    EInfrared,
hgs
parents:
diff changeset
    56
	ENfc
hgs
parents:
diff changeset
    57
    };
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
/**
hgs
parents:
diff changeset
    60
* Backup status.
hgs
parents:
diff changeset
    61
* The value is controlled by FileManager
hgs
parents:
diff changeset
    62
*/
hgs
parents:
diff changeset
    63
enum TFileManagerBkupStatusType
hgs
parents:
diff changeset
    64
    {
hgs
parents:
diff changeset
    65
    EFileManagerBkupStatusUnset   = 0x00000000,
hgs
parents:
diff changeset
    66
    EFileManagerBkupStatusBackup  = 0x00000001,
hgs
parents:
diff changeset
    67
    EFileManagerBkupStatusRestore = 0x00000002
hgs
parents:
diff changeset
    68
    };
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
// CLASS DECLARATION
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
/**
hgs
parents:
diff changeset
    73
*  Utility methods for UI related functionality.
hgs
parents:
diff changeset
    74
*  
hgs
parents:
diff changeset
    75
*/
hgs
parents:
diff changeset
    76
NONSHARABLE_CLASS(  TObexUtilsUiLayer )
hgs
parents:
diff changeset
    77
    {
hgs
parents:
diff changeset
    78
    public: // New functions
hgs
parents:
diff changeset
    79
    
hgs
parents:
diff changeset
    80
        typedef CArrayPtr<CFbsBitmap> CBitmapArray;
hgs
parents:
diff changeset
    81
        
hgs
parents:
diff changeset
    82
        /**
hgs
parents:
diff changeset
    83
        * Launches an editor application for the given message.
hgs
parents:
diff changeset
    84
        * @param aMessage The message to be launched in an application.
hgs
parents:
diff changeset
    85
        * @param aSession A message server session.
hgs
parents:
diff changeset
    86
        * @param aObserverRequestStatus Request status of the observer.
hgs
parents:
diff changeset
    87
        * @return MSV operation
hgs
parents:
diff changeset
    88
        */
hgs
parents:
diff changeset
    89
        IMPORT_C static CMsvOperation* LaunchEditorApplicationOperationL( 
hgs
parents:
diff changeset
    90
        	CMsvSession& aMsvSession,
hgs
parents:
diff changeset
    91
        	CMsvEntry* aMessage,
hgs
parents:
diff changeset
    92
            TRequestStatus& aObserverRequestStatus );
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
        /**
hgs
parents:
diff changeset
    95
        * Launches an editor application for the given message.
hgs
parents:
diff changeset
    96
        * @param aMessage The message to be launched in an application.
hgs
parents:
diff changeset
    97
        * @param aSession A message server session.
hgs
parents:
diff changeset
    98
        * @return Symbian OS errorcode.
hgs
parents:
diff changeset
    99
        */
hgs
parents:
diff changeset
   100
        IMPORT_C static TInt LaunchEditorApplicationL( CMsvEntry* aMessage,
hgs
parents:
diff changeset
   101
                                                       CMsvSession& aSession );
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
        /**
hgs
parents:
diff changeset
   104
         * LaunchFileManager by specific path and sort method
hgs
parents:
diff changeset
   105
         * @Since S60 v5.0
hgs
parents:
diff changeset
   106
         * @param aPath The directory where file manager should open
hgs
parents:
diff changeset
   107
         * @param aSortMethod sort method to sort the files in aPath
hgs
parents:
diff changeset
   108
         * @param isEmbeddedMode indicates start mode for file manager or standalone mode
hgs
parents:
diff changeset
   109
         * @return None 
hgs
parents:
diff changeset
   110
         */ 
hgs
parents:
diff changeset
   111
        IMPORT_C static void LaunchFileManagerL( TDesC& aPath, TInt aSortMethod, TBool isEmbeddedMode);
hgs
parents:
diff changeset
   112
        
hgs
parents:
diff changeset
   113
             
hgs
parents:
diff changeset
   114
        /**
hgs
parents:
diff changeset
   115
         * Open the file by Launching the suitable S60 application  
hgs
parents:
diff changeset
   116
         * @Since S60 v5.0
hgs
parents:
diff changeset
   117
         * @return None
hgs
parents:
diff changeset
   118
         */
hgs
parents:
diff changeset
   119
        IMPORT_C static void LaunchEditorApplicationL (TMsvId& aMsvIdParent);
hgs
parents:
diff changeset
   120
        
hgs
parents:
diff changeset
   121
        /**
hgs
parents:
diff changeset
   122
        * Shows an error note.
hgs
parents:
diff changeset
   123
        * @param aResourceID A resource id for the note.
hgs
parents:
diff changeset
   124
        * @return None.
hgs
parents:
diff changeset
   125
        */
hgs
parents:
diff changeset
   126
        IMPORT_C static void ShowErrorNoteL( const TInt& aResourceID );
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
        /**
hgs
parents:
diff changeset
   129
        * Shows an information note.
hgs
parents:
diff changeset
   130
        * @param aResourceID A resource id for the note.
hgs
parents:
diff changeset
   131
        * @return None.
hgs
parents:
diff changeset
   132
        */
hgs
parents:
diff changeset
   133
        IMPORT_C static void ShowInformationNoteL( const TInt& aResourceID );
hgs
parents:
diff changeset
   134
        
hgs
parents:
diff changeset
   135
        /**
hgs
parents:
diff changeset
   136
        * Reads contents of a resource into a buffer.
hgs
parents:
diff changeset
   137
        * @parma aBuf The buffer.
hgs
parents:
diff changeset
   138
        * @param aResourceID The id of the resource
hgs
parents:
diff changeset
   139
        * @return None.
hgs
parents:
diff changeset
   140
        */
hgs
parents:
diff changeset
   141
        IMPORT_C static void ReadResourceL( TDes& aBuf,
hgs
parents:
diff changeset
   142
                                            const TInt& aResourceID );
hgs
parents:
diff changeset
   143
         
hgs
parents:
diff changeset
   144
        /**
hgs
parents:
diff changeset
   145
        * Shows an global information note.
hgs
parents:
diff changeset
   146
        * @param aResourceID A resource id for the note.
hgs
parents:
diff changeset
   147
        * @return None.
hgs
parents:
diff changeset
   148
        */                                    
hgs
parents:
diff changeset
   149
        IMPORT_C static void ShowGlobalConfirmationQueryL( const TInt& aResourceID );
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
        /**
hgs
parents:
diff changeset
   152
         * Show global conformation query without animations or tones.
hgs
parents:
diff changeset
   153
         * @Since S60 5.0
hgs
parents:
diff changeset
   154
         * @aResourceID aREsourceID for loc string
hgs
parents:
diff changeset
   155
         * @return TBool
hgs
parents:
diff changeset
   156
         */
hgs
parents:
diff changeset
   157
        IMPORT_C static TBool ShowGlobalConfirmationQueryPlainL( const TInt& aResourceID);
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
        /**
hgs
parents:
diff changeset
   160
         * Show global conformation query
hgs
parents:
diff changeset
   161
         * @Since S60 5.0
hgs
parents:
diff changeset
   162
         * @aResourceID aREsourceID for loc string
hgs
parents:
diff changeset
   163
         * @aFilePath location for those files received.
hgs
parents:
diff changeset
   164
         * @return TBool
hgs
parents:
diff changeset
   165
         */
hgs
parents:
diff changeset
   166
        IMPORT_C static TBool ShowGlobalFileOpenConfirmationQueryL( const TInt& aResourceID, const TDesC& aFilePath);
hgs
parents:
diff changeset
   167
        
hgs
parents:
diff changeset
   168
hgs
parents:
diff changeset
   169
        
hgs
parents:
diff changeset
   170
        /**
hgs
parents:
diff changeset
   171
        * Returns a resource id for a not supported operation.
hgs
parents:
diff changeset
   172
        * @return The resource id.
hgs
parents:
diff changeset
   173
        */
hgs
parents:
diff changeset
   174
        IMPORT_C static TInt OperationNotSupported();
hgs
parents:
diff changeset
   175
        
hgs
parents:
diff changeset
   176
        /**
hgs
parents:
diff changeset
   177
        * Returns an icon for the given context.
hgs
parents:
diff changeset
   178
        * @param aContext The context.
hgs
parents:
diff changeset
   179
        * @param aMedia The used media.
hgs
parents:
diff changeset
   180
        * @return The resource id of the icon.
hgs
parents:
diff changeset
   181
        */
hgs
parents:
diff changeset
   182
        IMPORT_C static TInt ContextIcon( const TMsvEntry& aContext,
hgs
parents:
diff changeset
   183
                                          TContextMedia aMedia );
hgs
parents:
diff changeset
   184
hgs
parents:
diff changeset
   185
        /**
hgs
parents:
diff changeset
   186
        * Updates bitmaps accoding to given media.
hgs
parents:
diff changeset
   187
        * @param aMedia The used media.
hgs
parents:
diff changeset
   188
        * @param aNumberOfZoomStates The media.
hgs
parents:
diff changeset
   189
        * @param aBitmapFile The bitmap file.
hgs
parents:
diff changeset
   190
        * @param aStartBitmap The resource id of the start bitmap.
hgs
parents:
diff changeset
   191
        * @param aEndBitmap The resource id of the start bitmap.
hgs
parents:
diff changeset
   192
        * @return None.
hgs
parents:
diff changeset
   193
        */
hgs
parents:
diff changeset
   194
        IMPORT_C static void UpdateBitmaps( TUid aMedia, 
hgs
parents:
diff changeset
   195
                                            TInt& aNumberOfZoomStates, 
hgs
parents:
diff changeset
   196
                                            TFileName& aBitmapFile,
hgs
parents:
diff changeset
   197
                                            TInt& aStartBitmap,
hgs
parents:
diff changeset
   198
                                            TInt& aEndBitmap );
hgs
parents:
diff changeset
   199
hgs
parents:
diff changeset
   200
        /**
hgs
parents:
diff changeset
   201
        * Create icons according to given media
hgs
parents:
diff changeset
   202
        * @param aMedia The used media.
hgs
parents:
diff changeset
   203
        * @param aIconArray The IconArray used by the caller
hgs
parents:
diff changeset
   204
        */
hgs
parents:
diff changeset
   205
        IMPORT_C static void CreateIconsL( TUid aMedia, CArrayPtr<CBitmapArray>* aIconArrays);  
hgs
parents:
diff changeset
   206
hgs
parents:
diff changeset
   207
        /**
hgs
parents:
diff changeset
   208
         * Checks if backup process is running 
hgs
parents:
diff changeset
   209
         */
hgs
parents:
diff changeset
   210
        IMPORT_C TBool static IsBackupRunning();
hgs
parents:
diff changeset
   211
        
hgs
parents:
diff changeset
   212
        /**
hgs
parents:
diff changeset
   213
        * Prepares dialog for execution
hgs
parents:
diff changeset
   214
        * @param aResourceID Resource ID of the dialog
hgs
parents:
diff changeset
   215
        * @param aDialog Dialog
hgs
parents:
diff changeset
   216
        */
hgs
parents:
diff changeset
   217
        void static PrepareDialogExecuteL( const TInt& aResourceID, CEikDialog* aDialog );
hgs
parents:
diff changeset
   218
        
hgs
parents:
diff changeset
   219
        /**
hgs
parents:
diff changeset
   220
        * Check if cover display is enabled
hgs
parents:
diff changeset
   221
        * return True if enabled
hgs
parents:
diff changeset
   222
        */
hgs
parents:
diff changeset
   223
        TBool static IsCoverDisplayL();
hgs
parents:
diff changeset
   224
        
hgs
parents:
diff changeset
   225
        /**
hgs
parents:
diff changeset
   226
         * Check if process with given id is active now
hgs
parents:
diff changeset
   227
         * return True if is active
hgs
parents:
diff changeset
   228
         */
hgs
parents:
diff changeset
   229
        TBool static ProcessExists( const TSecureId& aSecureId );
hgs
parents:
diff changeset
   230
        
hgs
parents:
diff changeset
   231
        /**
hgs
parents:
diff changeset
   232
         * A dummy class for opening CMsvSession.
hgs
parents:
diff changeset
   233
         */
hgs
parents:
diff changeset
   234
         class CDummySessionObserver : public CBase , public MMsvSessionObserver
hgs
parents:
diff changeset
   235
             {
hgs
parents:
diff changeset
   236
             public:
hgs
parents:
diff changeset
   237
                 void HandleSessionEventL( TMsvSessionEvent/*aEvent*/,
hgs
parents:
diff changeset
   238
                     TAny* /*aArg1*/,
hgs
parents:
diff changeset
   239
                     TAny* /*aArg2*/,
hgs
parents:
diff changeset
   240
                     TAny* /*aArg3*/ ) {};
hgs
parents:
diff changeset
   241
             };
hgs
parents:
diff changeset
   242
    };
hgs
parents:
diff changeset
   243
hgs
parents:
diff changeset
   244
#endif      // COBEXUTILSUILAYER_H
hgs
parents:
diff changeset
   245
            
hgs
parents:
diff changeset
   246
// End of File