btobexprofiles/obexreceiveservices/mtmuiinfrared/src/irmtmui.cpp
author hgs
Fri, 28 May 2010 17:03:06 +0300
changeset 32 19bd632b5100
child 40 997690c3397a
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
*      CIrMtmui class
hgs
parents:
diff changeset
    16
*
hgs
parents:
diff changeset
    17
*
hgs
parents:
diff changeset
    18
*/
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
// INCLUDE FILES
hgs
parents:
diff changeset
    22
#include "irmtmui.h"
hgs
parents:
diff changeset
    23
#include "debug.h"
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
#ifdef NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
    26
#include <app/ircmtm.h>
hgs
parents:
diff changeset
    27
#endif //NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
#include <mtmuidef.hrh>
hgs
parents:
diff changeset
    30
#include <mtclreg.h>
hgs
parents:
diff changeset
    31
#include <obexutilsuilayer.h>
hgs
parents:
diff changeset
    32
#include <Obexutils.rsg>
hgs
parents:
diff changeset
    33
#include <msvuids.h>
hgs
parents:
diff changeset
    34
#include <msvids.h>
hgs
parents:
diff changeset
    35
#include <obexconstants.h>
hgs
parents:
diff changeset
    36
#include <btnotif.h>        	// Notifier UID's
hgs
parents:
diff changeset
    37
#include <aknnotewrappers.h> 	//For notifier
hgs
parents:
diff changeset
    38
#include <featmgr.h>
hgs
parents:
diff changeset
    39
#include <secondarydisplay/obexutilssecondarydisplayapi.h>
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
// ================= MEMBER FUNCTIONS =======================
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
// C++ default constructor can NOT contain any code, that
hgs
parents:
diff changeset
    44
// might leave.
hgs
parents:
diff changeset
    45
//
hgs
parents:
diff changeset
    46
CIrMtmUi::CIrMtmUi(CBaseMtm& aBaseMtm, CRegisteredMtmDll& aRegisteredMtmDll)
hgs
parents:
diff changeset
    47
    :   CBaseMtmUi(aBaseMtm, aRegisteredMtmDll)
hgs
parents:
diff changeset
    48
    {
hgs
parents:
diff changeset
    49
    }
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
// Two-phased constructor.
hgs
parents:
diff changeset
    52
CIrMtmUi* CIrMtmUi::NewL(
hgs
parents:
diff changeset
    53
    CBaseMtm& aBaseMtm, 
hgs
parents:
diff changeset
    54
    CRegisteredMtmDll& aRegisteredMtmDll)
hgs
parents:
diff changeset
    55
    {
hgs
parents:
diff changeset
    56
    CIrMtmUi* self=new(ELeave) CIrMtmUi(aBaseMtm, aRegisteredMtmDll);
hgs
parents:
diff changeset
    57
    CleanupStack::PushL(self);
hgs
parents:
diff changeset
    58
    self->ConstructL();
hgs
parents:
diff changeset
    59
    CleanupStack::Pop(self);
hgs
parents:
diff changeset
    60
    return self;
hgs
parents:
diff changeset
    61
    }
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
// Destructor
hgs
parents:
diff changeset
    64
CIrMtmUi::~CIrMtmUi()
hgs
parents:
diff changeset
    65
    {
hgs
parents:
diff changeset
    66
    delete iClientRegistry;
hgs
parents:
diff changeset
    67
    }
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
// Symbian OS default constructor can leave.
hgs
parents:
diff changeset
    71
void CIrMtmUi::ConstructL()
hgs
parents:
diff changeset
    72
    {
hgs
parents:
diff changeset
    73
    // --- Make sure base class correctly constructed ---
hgs
parents:
diff changeset
    74
    CBaseMtmUi::ConstructL();
hgs
parents:
diff changeset
    75
    TObexUtilsUiLayer::ReadResourceL( iConnectingText, R_IR_CONNECTING );
hgs
parents:
diff changeset
    76
    TObexUtilsUiLayer::ReadResourceL( iSendingText, R_IR_SENDING_DATA );
hgs
parents:
diff changeset
    77
    iCurrentlySending = EFalse;
hgs
parents:
diff changeset
    78
    }
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
// ---------------------------------------------------------
hgs
parents:
diff changeset
    81
// GetResourceFileName(...)
hgs
parents:
diff changeset
    82
// return progress status.
hgs
parents:
diff changeset
    83
// ---------------------------------------------------------
hgs
parents:
diff changeset
    84
//
hgs
parents:
diff changeset
    85
void CIrMtmUi::GetResourceFileName( TFileName& aFileName ) const
hgs
parents:
diff changeset
    86
    { 
hgs
parents:
diff changeset
    87
    FLOG( _L( "[CIrMtmUi] CIrMtmUi: GetResourceFileName\t" ) );
hgs
parents:
diff changeset
    88
    aFileName = KObexUtilsFileDrive;
hgs
parents:
diff changeset
    89
    aFileName += KDC_RESOURCE_FILES_DIR;
hgs
parents:
diff changeset
    90
    aFileName += KObexUtilsResourceFileName;
hgs
parents:
diff changeset
    91
    }
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
// ---------------------------------------------------------
hgs
parents:
diff changeset
    94
// QueryCapability(TUid aCapability, TInt& aResponse)
hgs
parents:
diff changeset
    95
// return capability of mtm.
hgs
parents:
diff changeset
    96
// ---------------------------------------------------------
hgs
parents:
diff changeset
    97
//
hgs
parents:
diff changeset
    98
TInt CIrMtmUi::QueryCapability(TUid aCapability, TInt& aResponse)
hgs
parents:
diff changeset
    99
    {  // Querying of menu availablility is done in syni.
hgs
parents:
diff changeset
   100
    FLOG( _L( "[IRU] CIrMtmUi: QueryCapability\t" ) );
hgs
parents:
diff changeset
   101
    if (aCapability.iUid == KUidMsvMtmUiQueryCanPrintMsgValue)
hgs
parents:
diff changeset
   102
        {
hgs
parents:
diff changeset
   103
        aResponse=ETrue;
hgs
parents:
diff changeset
   104
        return KErrNone;
hgs
parents:
diff changeset
   105
        }
hgs
parents:
diff changeset
   106
    return CBaseMtmUi::QueryCapability(aCapability, aResponse);
hgs
parents:
diff changeset
   107
    }
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
// ---------------------------------------------------------
hgs
parents:
diff changeset
   110
// InvokeSyncFunctionL(...)
hgs
parents:
diff changeset
   111
// Invoke sync -function from BaseMTM.
hgs
parents:
diff changeset
   112
// ---------------------------------------------------------
hgs
parents:
diff changeset
   113
//
hgs
parents:
diff changeset
   114
void CIrMtmUi::InvokeSyncFunctionL(
hgs
parents:
diff changeset
   115
    TInt aFunctionId, 
hgs
parents:
diff changeset
   116
    const CMsvEntrySelection& aSelection, 
hgs
parents:
diff changeset
   117
    TDes8& aParameter)
hgs
parents:
diff changeset
   118
    {
hgs
parents:
diff changeset
   119
    FLOG( _L( "[IRU] CIrMtmUi: InvokeSyncFunctionL\t" ) );
hgs
parents:
diff changeset
   120
    CBaseMtmUi::InvokeSyncFunctionL(aFunctionId, aSelection, aParameter);
hgs
parents:
diff changeset
   121
    }
hgs
parents:
diff changeset
   122
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
// ---------------------------------------------------------
hgs
parents:
diff changeset
   125
// CreateL(...)
hgs
parents:
diff changeset
   126
// Entry creation forbidden.
hgs
parents:
diff changeset
   127
// ---------------------------------------------------------
hgs
parents:
diff changeset
   128
//
hgs
parents:
diff changeset
   129
CMsvOperation* CIrMtmUi::CreateL(
hgs
parents:
diff changeset
   130
    const TMsvEntry& /*aEntry*/,
hgs
parents:
diff changeset
   131
    CMsvEntry& /*aParent*/, 
hgs
parents:
diff changeset
   132
    TRequestStatus& /*aStatus*/)
hgs
parents:
diff changeset
   133
    {
hgs
parents:
diff changeset
   134
    // Entries created through utility functions.
hgs
parents:
diff changeset
   135
    User::Leave(KErrNotSupported);  
hgs
parents:
diff changeset
   136
    return NULL;
hgs
parents:
diff changeset
   137
    }
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
hgs
parents:
diff changeset
   140
// ---------------------------------------------------------
hgs
parents:
diff changeset
   141
// OpenL(TRequestStatus& aStatus)
hgs
parents:
diff changeset
   142
// handles opening entry.
hgs
parents:
diff changeset
   143
// ---------------------------------------------------------
hgs
parents:
diff changeset
   144
//
hgs
parents:
diff changeset
   145
CMsvOperation* CIrMtmUi::OpenL(TRequestStatus& aStatus)
hgs
parents:
diff changeset
   146
    {
hgs
parents:
diff changeset
   147
    FLOG( _L( "[IRU] CIrMtmUi: OpenL\t" ) );
hgs
parents:
diff changeset
   148
    const TMsvEntry& context=iBaseMtm.Entry().Entry();
hgs
parents:
diff changeset
   149
    const TUid type(context.iType);
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
    if ( (type==KUidMsvMessageEntry) &&  
hgs
parents:
diff changeset
   152
         ((context.Parent()==KMsvSentEntryIdValue)
hgs
parents:
diff changeset
   153
         ||(context.Parent()==KMsvGlobalInBoxIndexEntryIdValue))
hgs
parents:
diff changeset
   154
       )
hgs
parents:
diff changeset
   155
        {
hgs
parents:
diff changeset
   156
        // Message is in the sent folder, so can't be edited
hgs
parents:
diff changeset
   157
        return ViewL(aStatus);
hgs
parents:
diff changeset
   158
        }
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
    return EditL(aStatus);
hgs
parents:
diff changeset
   161
    }
hgs
parents:
diff changeset
   162
hgs
parents:
diff changeset
   163
// ---------------------------------------------------------
hgs
parents:
diff changeset
   164
// OpenL(...)
hgs
parents:
diff changeset
   165
// handles opening entry using selection.
hgs
parents:
diff changeset
   166
// ---------------------------------------------------------
hgs
parents:
diff changeset
   167
//
hgs
parents:
diff changeset
   168
CMsvOperation* CIrMtmUi::OpenL(
hgs
parents:
diff changeset
   169
    TRequestStatus& aStatus, 
hgs
parents:
diff changeset
   170
    const CMsvEntrySelection& aSelection)
hgs
parents:
diff changeset
   171
    {
hgs
parents:
diff changeset
   172
    iBaseMtm.Entry().SetEntryL(aSelection.At(0));
hgs
parents:
diff changeset
   173
    return OpenL(aStatus);
hgs
parents:
diff changeset
   174
    }
hgs
parents:
diff changeset
   175
hgs
parents:
diff changeset
   176
// ---------------------------------------------------------
hgs
parents:
diff changeset
   177
// CloseL(TRequestStatus& aStatus)
hgs
parents:
diff changeset
   178
// Closes entry.
hgs
parents:
diff changeset
   179
// ---------------------------------------------------------
hgs
parents:
diff changeset
   180
//
hgs
parents:
diff changeset
   181
CMsvOperation* CIrMtmUi::CloseL(TRequestStatus& aStatus)
hgs
parents:
diff changeset
   182
    {
hgs
parents:
diff changeset
   183
    FLOG( _L( "[IRU] CIrMtmUi: CloseL\t" ) );
hgs
parents:
diff changeset
   184
    CMsvCompletedOperation* op=CMsvCompletedOperation::NewL(
hgs
parents:
diff changeset
   185
        Session(), 
hgs
parents:
diff changeset
   186
        Type(), 
hgs
parents:
diff changeset
   187
        KNullDesC8, 
hgs
parents:
diff changeset
   188
        KMsvLocalServiceIndexEntryId, 
hgs
parents:
diff changeset
   189
        aStatus);
hgs
parents:
diff changeset
   190
    return op;
hgs
parents:
diff changeset
   191
    }
hgs
parents:
diff changeset
   192
hgs
parents:
diff changeset
   193
// ---------------------------------------------------------
hgs
parents:
diff changeset
   194
// CloseL(TRequestStatus& aStatus)
hgs
parents:
diff changeset
   195
// Closes entry using selection.
hgs
parents:
diff changeset
   196
// ---------------------------------------------------------
hgs
parents:
diff changeset
   197
//
hgs
parents:
diff changeset
   198
CMsvOperation* CIrMtmUi::CloseL(
hgs
parents:
diff changeset
   199
    TRequestStatus& aStatus, 
hgs
parents:
diff changeset
   200
    const CMsvEntrySelection& aSelection)
hgs
parents:
diff changeset
   201
    {
hgs
parents:
diff changeset
   202
    iBaseMtm.Entry().SetEntryL(aSelection.At(0));
hgs
parents:
diff changeset
   203
    return CloseL(aStatus);
hgs
parents:
diff changeset
   204
    }
hgs
parents:
diff changeset
   205
hgs
parents:
diff changeset
   206
// ---------------------------------------------------------
hgs
parents:
diff changeset
   207
// EditL(TRequestStatus& aStatus)
hgs
parents:
diff changeset
   208
// Handles message sending.
hgs
parents:
diff changeset
   209
// ---------------------------------------------------------
hgs
parents:
diff changeset
   210
//
hgs
parents:
diff changeset
   211
CMsvOperation* CIrMtmUi::EditL(TRequestStatus& aStatus)
hgs
parents:
diff changeset
   212
    {
hgs
parents:
diff changeset
   213
    FLOG( _L( "[IRU] CIrMtmUi: EditL\t" ) );
hgs
parents:
diff changeset
   214
    switch( iBaseMtm.Entry().Entry().iType.iUid )
hgs
parents:
diff changeset
   215
        {
hgs
parents:
diff changeset
   216
        case KUidMsvMessageEntryValue:
hgs
parents:
diff changeset
   217
            {
hgs
parents:
diff changeset
   218
            return LaunchEditorApplicationL( aStatus, iBaseMtm.Entry().Session() );
hgs
parents:
diff changeset
   219
            /* Infrared is not supported anymore. Implementation for sending over Infrared is left for reference:
hgs
parents:
diff changeset
   220
            ( add #include <MuiuMsvProgressReporterOperation.h> to the included files )
hgs
parents:
diff changeset
   221
            ( add constants:
hgs
parents:
diff changeset
   222
                const TInt KIrMtmUiConnectionTimeout     = 20000000;
hgs
parents:
diff changeset
   223
                const TInt KIrMtmUiReceiveTimeout        = 0; )
hgs
parents:
diff changeset
   224
            code starts here:
hgs
parents:
diff changeset
   225
hgs
parents:
diff changeset
   226
            if( iBaseMtm.Entry().Entry().Parent() != KMsvDraftEntryId &&
hgs
parents:
diff changeset
   227
               iBaseMtm.Entry().Entry().Parent() != KMsvGlobalOutBoxIndexEntryId )
hgs
parents:
diff changeset
   228
                {
hgs
parents:
diff changeset
   229
                //   Edit/"use" entries in the Inbox
hgs
parents:
diff changeset
   230
                return LaunchEditorApplicationL( aStatus, iBaseMtm.Entry().Session() );
hgs
parents:
diff changeset
   231
                }
hgs
parents:
diff changeset
   232
            else
hgs
parents:
diff changeset
   233
                {
hgs
parents:
diff changeset
   234
                FeatureManager::InitializeLibL();                    	
hgs
parents:
diff changeset
   235
                if(!FeatureManager::FeatureSupported(KFeatureIdIrda))
hgs
parents:
diff changeset
   236
    			    {
hgs
parents:
diff changeset
   237
   					FLOG(_L("[IRSS]\t FeatMgr doesn't find IrDA, show not_supported "));
hgs
parents:
diff changeset
   238
	    			RNotifier notifier;    
hgs
parents:
diff changeset
   239
	    			User::LeaveIfError( notifier.Connect() );
hgs
parents:
diff changeset
   240
					TBTGenericInfoNotiferParamsPckg paramsPckg;
hgs
parents:
diff changeset
   241
					paramsPckg().iMessageType=EIRNotSupported;		
hgs
parents:
diff changeset
   242
		            TInt status = notifier.StartNotifier(KBTGenericInfoNotifierUid, paramsPckg);
hgs
parents:
diff changeset
   243
	                if ( status != KErrNone )
hgs
parents:
diff changeset
   244
	                    {
hgs
parents:
diff changeset
   245
	                    FTRACE(FPrint(_L("[IRSS]\t void CIrMtmUi::EditL()  ERROR: StartNotifier() failed. Code: %d "), status));
hgs
parents:
diff changeset
   246
	                    }	    
hgs
parents:
diff changeset
   247
	                notifier.Close();    	
hgs
parents:
diff changeset
   248
	                User::Leave(KErrNone);
hgs
parents:
diff changeset
   249
    	            }    	
hgs
parents:
diff changeset
   250
    		    FeatureManager::UnInitializeLib();
hgs
parents:
diff changeset
   251
                CIrClientMtm::STimeouts timeouts;
hgs
parents:
diff changeset
   252
                timeouts.iConnectTimeout = KIrMtmUiConnectionTimeout;
hgs
parents:
diff changeset
   253
                timeouts.iPutTimeout     = KIrMtmUiReceiveTimeout;
hgs
parents:
diff changeset
   254
hgs
parents:
diff changeset
   255
                TPckgBuf<CIrClientMtm::STimeouts> timeoutBuf( timeouts );
hgs
parents:
diff changeset
   256
hgs
parents:
diff changeset
   257
                CMsvEntrySelection* sel = new( ELeave ) CMsvEntrySelection();
hgs
parents:
diff changeset
   258
                CleanupStack::PushL( sel );
hgs
parents:
diff changeset
   259
hgs
parents:
diff changeset
   260
                sel->AppendL( BaseMtm().Entry().EntryId() );
hgs
parents:
diff changeset
   261
hgs
parents:
diff changeset
   262
                CMsvOperationWait* waiter = CMsvOperationWait::NewLC();
hgs
parents:
diff changeset
   263
hgs
parents:
diff changeset
   264
                TBuf<KObexUtilsMaxCharToFromField> toFrom;
hgs
parents:
diff changeset
   265
                TInt resourceId = R_IR_SEND_OUTBOX_SENDING;
hgs
parents:
diff changeset
   266
                TObexUtilsUiLayer::ReadResourceL( toFrom, resourceId );
hgs
parents:
diff changeset
   267
hgs
parents:
diff changeset
   268
                TMsvEntry newTEntry( iBaseMtm.Entry().Entry() );
hgs
parents:
diff changeset
   269
                newTEntry.iDetails.Set( toFrom );
hgs
parents:
diff changeset
   270
                newTEntry.SetVisible( ETrue );
hgs
parents:
diff changeset
   271
                newTEntry.SetInPreparation( ETrue );
hgs
parents:
diff changeset
   272
hgs
parents:
diff changeset
   273
                iBaseMtm.Entry().ChangeL( newTEntry );
hgs
parents:
diff changeset
   274
hgs
parents:
diff changeset
   275
                CMsvEntry* entry = 
hgs
parents:
diff changeset
   276
                    BaseMtm().Session().GetEntryL( KMsvDraftEntryId );
hgs
parents:
diff changeset
   277
hgs
parents:
diff changeset
   278
                CleanupStack::PushL( entry );
hgs
parents:
diff changeset
   279
hgs
parents:
diff changeset
   280
                CMsvOperation* moveOp = entry->MoveL(
hgs
parents:
diff changeset
   281
                    *sel, 
hgs
parents:
diff changeset
   282
                    KMsvGlobalOutBoxIndexEntryId, 
hgs
parents:
diff changeset
   283
                    waiter->iStatus );
hgs
parents:
diff changeset
   284
hgs
parents:
diff changeset
   285
                CleanupStack::PopAndDestroy(entry);
hgs
parents:
diff changeset
   286
                
hgs
parents:
diff changeset
   287
                waiter->Start();
hgs
parents:
diff changeset
   288
                CActiveScheduler::Start();
hgs
parents:
diff changeset
   289
                delete moveOp;
hgs
parents:
diff changeset
   290
hgs
parents:
diff changeset
   291
                CleanupStack::PopAndDestroy(waiter);
hgs
parents:
diff changeset
   292
hgs
parents:
diff changeset
   293
                TInt dialogIndex =((R_IR_SENDING_DATA & KResourceNumberMask) - KFirstResourceOffset) + KEnumStart;
hgs
parents:
diff changeset
   294
                CMsvProgressReporterOperation* reporter = 
hgs
parents:
diff changeset
   295
                    CMsvProgressReporterOperation::NewL( Session(), aStatus, dialogIndex, KObexUtilsCategory);
hgs
parents:
diff changeset
   296
                CleanupStack::PushL( reporter );
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
                CMsvOperation* op = BaseMtm().InvokeAsyncFunctionL(
hgs
parents:
diff changeset
   299
                    CIrClientMtm::EIrcCmdSend, 
hgs
parents:
diff changeset
   300
                    *sel, 
hgs
parents:
diff changeset
   301
                    timeoutBuf, 
hgs
parents:
diff changeset
   302
                    reporter->RequestStatus() );
hgs
parents:
diff changeset
   303
hgs
parents:
diff changeset
   304
                // ownership of op transfered to reporter
hgs
parents:
diff changeset
   305
                reporter->SetOperationL( op ); 
hgs
parents:
diff changeset
   306
                reporter->SetTitleL(iConnectingText);
hgs
parents:
diff changeset
   307
                aStatus = KRequestPending;
hgs
parents:
diff changeset
   308
                
hgs
parents:
diff changeset
   309
                CleanupStack::Pop(reporter);
hgs
parents:
diff changeset
   310
                CleanupStack::PopAndDestroy(sel);
hgs
parents:
diff changeset
   311
                // ownership of reporter transfered to caller
hgs
parents:
diff changeset
   312
                return reporter; 
hgs
parents:
diff changeset
   313
                }
hgs
parents:
diff changeset
   314
hgs
parents:
diff changeset
   315
                End of reference implementation for sending over Infrared:
hgs
parents:
diff changeset
   316
                */
hgs
parents:
diff changeset
   317
            }
hgs
parents:
diff changeset
   318
        case KUidMsvServiceEntryValue:
hgs
parents:
diff changeset
   319
        case KUidMsvAttachmentEntryValue:
hgs
parents:
diff changeset
   320
        case KUidMsvFolderEntryValue:
hgs
parents:
diff changeset
   321
            {
hgs
parents:
diff changeset
   322
            User::Leave( KErrNotSupported );
hgs
parents:
diff changeset
   323
            break;
hgs
parents:
diff changeset
   324
            }
hgs
parents:
diff changeset
   325
        default:
hgs
parents:
diff changeset
   326
            {
hgs
parents:
diff changeset
   327
            break;
hgs
parents:
diff changeset
   328
            }
hgs
parents:
diff changeset
   329
        }
hgs
parents:
diff changeset
   330
hgs
parents:
diff changeset
   331
    CMsvCompletedOperation* op = CMsvCompletedOperation::NewL(
hgs
parents:
diff changeset
   332
        Session(), 
hgs
parents:
diff changeset
   333
        Type(), 
hgs
parents:
diff changeset
   334
        KNullDesC8, 
hgs
parents:
diff changeset
   335
        KMsvLocalServiceIndexEntryId, 
hgs
parents:
diff changeset
   336
        aStatus );
hgs
parents:
diff changeset
   337
    FLOG( _L( "[IrMtmUi] CIrMtmUi: EditL Done\t" ) );
hgs
parents:
diff changeset
   338
    
hgs
parents:
diff changeset
   339
    aStatus = KRequestPending;
hgs
parents:
diff changeset
   340
    return op;
hgs
parents:
diff changeset
   341
    }
hgs
parents:
diff changeset
   342
hgs
parents:
diff changeset
   343
// ---------------------------------------------------------
hgs
parents:
diff changeset
   344
// EditL(...)
hgs
parents:
diff changeset
   345
// Handles message sending using selection.
hgs
parents:
diff changeset
   346
// ---------------------------------------------------------
hgs
parents:
diff changeset
   347
//
hgs
parents:
diff changeset
   348
CMsvOperation* CIrMtmUi::EditL( TRequestStatus& aStatus, 
hgs
parents:
diff changeset
   349
                               const CMsvEntrySelection& aSelection)
hgs
parents:
diff changeset
   350
    {
hgs
parents:
diff changeset
   351
    iBaseMtm.Entry().SetEntryL( aSelection.At(0) );
hgs
parents:
diff changeset
   352
    return EditL( aStatus );
hgs
parents:
diff changeset
   353
    }
hgs
parents:
diff changeset
   354
hgs
parents:
diff changeset
   355
// ---------------------------------------------------------
hgs
parents:
diff changeset
   356
// ViewL(TRequestStatus& aStatus)
hgs
parents:
diff changeset
   357
// Handles viewing of received object.
hgs
parents:
diff changeset
   358
// ---------------------------------------------------------
hgs
parents:
diff changeset
   359
//
hgs
parents:
diff changeset
   360
CMsvOperation* CIrMtmUi::ViewL( TRequestStatus& aStatus )
hgs
parents:
diff changeset
   361
    {
hgs
parents:
diff changeset
   362
    FLOG( _L( "[IRU] CIrMtmUi: ViewL\t" ) );
hgs
parents:
diff changeset
   363
    return LaunchEditorApplicationL(aStatus, iBaseMtm.Entry().Session());
hgs
parents:
diff changeset
   364
    }
hgs
parents:
diff changeset
   365
hgs
parents:
diff changeset
   366
// ---------------------------------------------------------
hgs
parents:
diff changeset
   367
// ViewL(...)
hgs
parents:
diff changeset
   368
// Handles viewing of received object using selection.
hgs
parents:
diff changeset
   369
// ---------------------------------------------------------
hgs
parents:
diff changeset
   370
//
hgs
parents:
diff changeset
   371
CMsvOperation* CIrMtmUi::ViewL( TRequestStatus& aStatus, 
hgs
parents:
diff changeset
   372
                               const CMsvEntrySelection& aSelection )
hgs
parents:
diff changeset
   373
    {
hgs
parents:
diff changeset
   374
    iBaseMtm.Entry().SetEntryL(aSelection.At(0));
hgs
parents:
diff changeset
   375
    return ViewL(aStatus);
hgs
parents:
diff changeset
   376
    }
hgs
parents:
diff changeset
   377
hgs
parents:
diff changeset
   378
// ---------------------------------------------------------
hgs
parents:
diff changeset
   379
// CopyFromL(...)
hgs
parents:
diff changeset
   380
// Not supported.
hgs
parents:
diff changeset
   381
// ---------------------------------------------------------
hgs
parents:
diff changeset
   382
//
hgs
parents:
diff changeset
   383
CMsvOperation* CIrMtmUi::CopyFromL( const CMsvEntrySelection& /*aSelection*/, 
hgs
parents:
diff changeset
   384
                                   TMsvId /*aTargetId*/, 
hgs
parents:
diff changeset
   385
                                   TRequestStatus& /*aStatus*/)
hgs
parents:
diff changeset
   386
    {
hgs
parents:
diff changeset
   387
    User::Leave(KErrNotSupported);
hgs
parents:
diff changeset
   388
    return NULL;
hgs
parents:
diff changeset
   389
    }
hgs
parents:
diff changeset
   390
hgs
parents:
diff changeset
   391
// ---------------------------------------------------------
hgs
parents:
diff changeset
   392
// MoveFromL(...)
hgs
parents:
diff changeset
   393
// Not supported.
hgs
parents:
diff changeset
   394
// ---------------------------------------------------------
hgs
parents:
diff changeset
   395
//
hgs
parents:
diff changeset
   396
CMsvOperation* CIrMtmUi::MoveFromL( const CMsvEntrySelection& /*aSelection*/, 
hgs
parents:
diff changeset
   397
                                   TMsvId /*aTargetId*/, 
hgs
parents:
diff changeset
   398
                                   TRequestStatus& /*aStatus*/)
hgs
parents:
diff changeset
   399
    {
hgs
parents:
diff changeset
   400
    User::Leave(KErrNotSupported);
hgs
parents:
diff changeset
   401
    return NULL;
hgs
parents:
diff changeset
   402
    }
hgs
parents:
diff changeset
   403
hgs
parents:
diff changeset
   404
// ---------------------------------------------------------
hgs
parents:
diff changeset
   405
// MoveToL(...)
hgs
parents:
diff changeset
   406
// Not supported.
hgs
parents:
diff changeset
   407
// ---------------------------------------------------------
hgs
parents:
diff changeset
   408
//
hgs
parents:
diff changeset
   409
CMsvOperation* CIrMtmUi::MoveToL( const CMsvEntrySelection& /*aSelection*/, 
hgs
parents:
diff changeset
   410
                                 TRequestStatus& /*aStatus*/)
hgs
parents:
diff changeset
   411
    {
hgs
parents:
diff changeset
   412
    User::Leave(KErrNotSupported);
hgs
parents:
diff changeset
   413
    return NULL;
hgs
parents:
diff changeset
   414
    }
hgs
parents:
diff changeset
   415
hgs
parents:
diff changeset
   416
// ---------------------------------------------------------
hgs
parents:
diff changeset
   417
// CopyToL(...)
hgs
parents:
diff changeset
   418
// Not supported.
hgs
parents:
diff changeset
   419
// ---------------------------------------------------------
hgs
parents:
diff changeset
   420
//
hgs
parents:
diff changeset
   421
CMsvOperation* CIrMtmUi::CopyToL( const CMsvEntrySelection& /*aSelection*/, 
hgs
parents:
diff changeset
   422
                                 TRequestStatus& /*aStatus*/ )
hgs
parents:
diff changeset
   423
    {
hgs
parents:
diff changeset
   424
    User::Leave(KErrNotSupported);
hgs
parents:
diff changeset
   425
    return NULL;
hgs
parents:
diff changeset
   426
    }
hgs
parents:
diff changeset
   427
hgs
parents:
diff changeset
   428
// ---------------------------------------------------------
hgs
parents:
diff changeset
   429
// DisplayProgressSummary(const TDesC8& aProgress) const
hgs
parents:
diff changeset
   430
// calls leaving DisplayProgressSummaryL -function and
hgs
parents:
diff changeset
   431
// traps the error.
hgs
parents:
diff changeset
   432
// ---------------------------------------------------------
hgs
parents:
diff changeset
   433
//
hgs
parents:
diff changeset
   434
TInt CIrMtmUi::DisplayProgressSummary( const TDesC8& aProgress ) const
hgs
parents:
diff changeset
   435
    {
hgs
parents:
diff changeset
   436
    FLOG( _L( "[IRU] CIrMtmUi: DisplayProgressSummary\t" ) );
hgs
parents:
diff changeset
   437
    TInt retVal = KErrNone;
hgs
parents:
diff changeset
   438
    TRAP( retVal, retVal = DisplayProgressSummaryL( aProgress ) );
hgs
parents:
diff changeset
   439
    return retVal;
hgs
parents:
diff changeset
   440
    }
hgs
parents:
diff changeset
   441
hgs
parents:
diff changeset
   442
// ---------------------------------------------------------
hgs
parents:
diff changeset
   443
// TInt CIrMtmUi::DisplayProgressSummaryL(const TDesC8& aProgress) const
hgs
parents:
diff changeset
   444
// Shows connection summary.
hgs
parents:
diff changeset
   445
// ---------------------------------------------------------
hgs
parents:
diff changeset
   446
//
hgs
parents:
diff changeset
   447
TInt CIrMtmUi::DisplayProgressSummaryL( const TDesC8& aProgress ) const
hgs
parents:
diff changeset
   448
    {
hgs
parents:
diff changeset
   449
    #ifndef NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
   450
    (void) aProgress;
hgs
parents:
diff changeset
   451
    #endif //NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
   452
    
hgs
parents:
diff changeset
   453
    #ifdef NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
   454
    FLOG( _L( "[IRU] CIrMtmUi: DisplayProgressSummaryL\t" ) );
hgs
parents:
diff changeset
   455
    TInt resourceId;
hgs
parents:
diff changeset
   456
    if( ( !aProgress.Length() ) || 
hgs
parents:
diff changeset
   457
         ( aProgress.Size() == sizeof( TMsvLocalOperationProgress ) ) )
hgs
parents:
diff changeset
   458
        {
hgs
parents:
diff changeset
   459
        // Probably a CMsvCompletedOperation
hgs
parents:
diff changeset
   460
        return KErrCancel;
hgs
parents:
diff changeset
   461
        }
hgs
parents:
diff changeset
   462
    TPckgBuf<TObexMtmProgress> paramPack;
hgs
parents:
diff changeset
   463
    paramPack.Copy( aProgress );
hgs
parents:
diff changeset
   464
    TObexMtmProgress& progress = paramPack();
hgs
parents:
diff changeset
   465
hgs
parents:
diff changeset
   466
    const TObexMtmProgress::TSendState progressType = progress.iSendState;
hgs
parents:
diff changeset
   467
    const TInt error = progress.iError;
hgs
parents:
diff changeset
   468
hgs
parents:
diff changeset
   469
    if( error == KErrInUse )
hgs
parents:
diff changeset
   470
        {
hgs
parents:
diff changeset
   471
        resourceId = R_IR_CANNOT_ESTABLISH;
hgs
parents:
diff changeset
   472
        TObexUtilsUiLayer::ShowInformationNoteL( resourceId );
hgs
parents:
diff changeset
   473
        return KErrNone;
hgs
parents:
diff changeset
   474
        }
hgs
parents:
diff changeset
   475
hgs
parents:
diff changeset
   476
    switch( progressType )
hgs
parents:
diff changeset
   477
        {
hgs
parents:
diff changeset
   478
        case TObexMtmProgress::EDisconnected:
hgs
parents:
diff changeset
   479
            {
hgs
parents:
diff changeset
   480
            // Allowed to send again.
hgs
parents:
diff changeset
   481
            CONST_CAST( CIrMtmUi*, this )->iCurrentlySending = EFalse;
hgs
parents:
diff changeset
   482
            resourceId = R_IR_DATA_SENT;
hgs
parents:
diff changeset
   483
            TObexUtilsUiLayer::ShowInformationNoteL( resourceId );
hgs
parents:
diff changeset
   484
            break;
hgs
parents:
diff changeset
   485
            }
hgs
parents:
diff changeset
   486
        case TObexMtmProgress::ESendError:
hgs
parents:
diff changeset
   487
            {
hgs
parents:
diff changeset
   488
            if( error == KErrIrObexClientNoDevicesFound )
hgs
parents:
diff changeset
   489
                {
hgs
parents:
diff changeset
   490
                resourceId = R_IR_CANNOT_ESTABLISH;
hgs
parents:
diff changeset
   491
                TObexUtilsUiLayer::ShowInformationNoteL( resourceId );
hgs
parents:
diff changeset
   492
                }
hgs
parents:
diff changeset
   493
            else
hgs
parents:
diff changeset
   494
                {
hgs
parents:
diff changeset
   495
                resourceId = R_IR_SENDING_FAILED;
hgs
parents:
diff changeset
   496
                TObexUtilsUiLayer::ShowErrorNoteL( resourceId );
hgs
parents:
diff changeset
   497
                }
hgs
parents:
diff changeset
   498
            break;
hgs
parents:
diff changeset
   499
            }
hgs
parents:
diff changeset
   500
        case TObexMtmProgress::ESendComplete:
hgs
parents:
diff changeset
   501
            {
hgs
parents:
diff changeset
   502
            break;
hgs
parents:
diff changeset
   503
            }
hgs
parents:
diff changeset
   504
        case TObexMtmProgress::EInitialise:
hgs
parents:
diff changeset
   505
        case TObexMtmProgress::EConnect:
hgs
parents:
diff changeset
   506
        case TObexMtmProgress::EConnectAttemptComplete:
hgs
parents:
diff changeset
   507
        case TObexMtmProgress::ESendObject:
hgs
parents:
diff changeset
   508
        case TObexMtmProgress::ESendNextObject:
hgs
parents:
diff changeset
   509
            {
hgs
parents:
diff changeset
   510
            return KErrCancel;
hgs
parents:
diff changeset
   511
            }
hgs
parents:
diff changeset
   512
        case TObexMtmProgress::EUserCancelled:
hgs
parents:
diff changeset
   513
            {
hgs
parents:
diff changeset
   514
            return KErrCancel;
hgs
parents:
diff changeset
   515
            }
hgs
parents:
diff changeset
   516
        default:
hgs
parents:
diff changeset
   517
            {
hgs
parents:
diff changeset
   518
            return KErrCancel;
hgs
parents:
diff changeset
   519
            }
hgs
parents:
diff changeset
   520
        }
hgs
parents:
diff changeset
   521
    FLOG( _L( "[IRU] CIrMtmUi: DisplayProgressSummaryL Done\t" ) );
hgs
parents:
diff changeset
   522
    #endif //NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
   523
    return KErrNone;
hgs
parents:
diff changeset
   524
    }
hgs
parents:
diff changeset
   525
hgs
parents:
diff changeset
   526
// ---------------------------------------------------------
hgs
parents:
diff changeset
   527
// GetProgress(...)
hgs
parents:
diff changeset
   528
// return progress status.
hgs
parents:
diff changeset
   529
// ---------------------------------------------------------
hgs
parents:
diff changeset
   530
//
hgs
parents:
diff changeset
   531
TInt CIrMtmUi::GetProgress( const TDesC8& aProgress,
hgs
parents:
diff changeset
   532
                           TBuf<EProgressStringMaxLen>& aReturnString, 
hgs
parents:
diff changeset
   533
                           TInt& aTotalEntryCount, 
hgs
parents:
diff changeset
   534
                           TInt& aEntriesDone,
hgs
parents:
diff changeset
   535
                           TInt& aCurrentEntrySize, 
hgs
parents:
diff changeset
   536
                           TInt& aCurrentBytesTrans ) const
hgs
parents:
diff changeset
   537
    {
hgs
parents:
diff changeset
   538
    #ifndef NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
   539
    (void) aProgress;
hgs
parents:
diff changeset
   540
    (void) aReturnString;
hgs
parents:
diff changeset
   541
    (void) aTotalEntryCount;
hgs
parents:
diff changeset
   542
    (void) aEntriesDone;
hgs
parents:
diff changeset
   543
    (void) aCurrentEntrySize;
hgs
parents:
diff changeset
   544
    (void) aCurrentBytesTrans;	
hgs
parents:
diff changeset
   545
    #endif //NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
   546
    
hgs
parents:
diff changeset
   547
    #ifdef NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
   548
    FLOG( _L( "[CIrMtmUi] CIrMtmUi: GetProgress\t" ) );
hgs
parents:
diff changeset
   549
    TPckgBuf<TObexMtmProgress> paramPack;
hgs
parents:
diff changeset
   550
    paramPack.Copy( aProgress );
hgs
parents:
diff changeset
   551
    TObexMtmProgress& progress = paramPack();
hgs
parents:
diff changeset
   552
    const TObexMtmProgress::TSendState progressType = progress.iSendState;
hgs
parents:
diff changeset
   553
    aTotalEntryCount    = progress.iTotalEntryCount;
hgs
parents:
diff changeset
   554
    aEntriesDone        = progress.iEntriesDone;
hgs
parents:
diff changeset
   555
    aCurrentEntrySize   = progress.iCurrentEntrySize; 
hgs
parents:
diff changeset
   556
    aCurrentBytesTrans  = progress.iCurrentBytesTrans;
hgs
parents:
diff changeset
   557
hgs
parents:
diff changeset
   558
    if( aTotalEntryCount > 1 ) // This is for progress bar multisending
hgs
parents:
diff changeset
   559
        {
hgs
parents:
diff changeset
   560
        aCurrentEntrySize = 0;
hgs
parents:
diff changeset
   561
        }
hgs
parents:
diff changeset
   562
    switch( progressType )
hgs
parents:
diff changeset
   563
        {
hgs
parents:
diff changeset
   564
        case TObexMtmProgress::ENullOp:
hgs
parents:
diff changeset
   565
        case TObexMtmProgress::ESendError:
hgs
parents:
diff changeset
   566
            {
hgs
parents:
diff changeset
   567
            aReturnString = KNullDesC;
hgs
parents:
diff changeset
   568
            break;
hgs
parents:
diff changeset
   569
            }
hgs
parents:
diff changeset
   570
        case TObexMtmProgress::EInitialise:
hgs
parents:
diff changeset
   571
        case TObexMtmProgress::EConnect:
hgs
parents:
diff changeset
   572
        case TObexMtmProgress::EConnectAttemptComplete:
hgs
parents:
diff changeset
   573
            {
hgs
parents:
diff changeset
   574
            aReturnString = iConnectingText;
hgs
parents:
diff changeset
   575
            break;
hgs
parents:
diff changeset
   576
            }
hgs
parents:
diff changeset
   577
        case TObexMtmProgress::ESendObject:
hgs
parents:
diff changeset
   578
        case TObexMtmProgress::ESendNextObject:
hgs
parents:
diff changeset
   579
        case TObexMtmProgress::ESendComplete:
hgs
parents:
diff changeset
   580
            {
hgs
parents:
diff changeset
   581
            aReturnString = iSendingText;
hgs
parents:
diff changeset
   582
            break;
hgs
parents:
diff changeset
   583
            }
hgs
parents:
diff changeset
   584
        case TObexMtmProgress::EDisconnected:
hgs
parents:
diff changeset
   585
            {
hgs
parents:
diff changeset
   586
            break;
hgs
parents:
diff changeset
   587
            }
hgs
parents:
diff changeset
   588
        default:
hgs
parents:
diff changeset
   589
            {
hgs
parents:
diff changeset
   590
            return KErrCancel;
hgs
parents:
diff changeset
   591
            }
hgs
parents:
diff changeset
   592
        }
hgs
parents:
diff changeset
   593
    FLOG( _L( "[CBtMtmUi] CBtMtmUi: GetProgress Done\t" ) );
hgs
parents:
diff changeset
   594
    #endif //NO101APPDEPFIXES_NEW
hgs
parents:
diff changeset
   595
    return KErrNone;
hgs
parents:
diff changeset
   596
    }
hgs
parents:
diff changeset
   597
hgs
parents:
diff changeset
   598
// ---------------------------------------------------------
hgs
parents:
diff changeset
   599
// LaunchEditorApplicationL(...)
hgs
parents:
diff changeset
   600
// Launch viewer for selected object. The first is object's 
hgs
parents:
diff changeset
   601
// recognition(document handler).
hgs
parents:
diff changeset
   602
// ---------------------------------------------------------
hgs
parents:
diff changeset
   603
//
hgs
parents:
diff changeset
   604
CMsvOperation* CIrMtmUi::LaunchEditorApplicationL( TRequestStatus& aStatus,
hgs
parents:
diff changeset
   605
                                                  CMsvSession& aSession)
hgs
parents:
diff changeset
   606
    {
hgs
parents:
diff changeset
   607
	FLOG( _L( "[CIrMtmUi] CIrMtmUi: LaunchEditorApplicationL\t" ) );
hgs
parents:
diff changeset
   608
	CMsvEntry* message;
hgs
parents:
diff changeset
   609
	message = &iBaseMtm.Entry();    
hgs
parents:
diff changeset
   610
	return TObexUtilsUiLayer::LaunchEditorApplicationOperationL( aSession, message, aStatus );
hgs
parents:
diff changeset
   611
    }
hgs
parents:
diff changeset
   612
hgs
parents:
diff changeset
   613
hgs
parents:
diff changeset
   614
// ---------------------------------------------------------
hgs
parents:
diff changeset
   615
// GetClientMtmLC(TUid aMtmType)
hgs
parents:
diff changeset
   616
// Handles MTM registration.
hgs
parents:
diff changeset
   617
// ---------------------------------------------------------
hgs
parents:
diff changeset
   618
//
hgs
parents:
diff changeset
   619
CBaseMtm* CIrMtmUi::GetClientMtmLC( TUid aMtmType )
hgs
parents:
diff changeset
   620
    {
hgs
parents:
diff changeset
   621
    if (!iClientRegistry)
hgs
parents:
diff changeset
   622
        {
hgs
parents:
diff changeset
   623
        iClientRegistry = CClientMtmRegistry::NewL( Session() );
hgs
parents:
diff changeset
   624
        }
hgs
parents:
diff changeset
   625
    CBaseMtm* mtm=iClientRegistry->NewMtmL( aMtmType );
hgs
parents:
diff changeset
   626
    CleanupStack::PushL( mtm );
hgs
parents:
diff changeset
   627
    return mtm;
hgs
parents:
diff changeset
   628
    }
hgs
parents:
diff changeset
   629
hgs
parents:
diff changeset
   630
// ---------------------------------------------------------
hgs
parents:
diff changeset
   631
// DeleteFromL(TUid aMtmType)
hgs
parents:
diff changeset
   632
// passes entry selection to Base for deletion.
hgs
parents:
diff changeset
   633
// ---------------------------------------------------------
hgs
parents:
diff changeset
   634
//
hgs
parents:
diff changeset
   635
CMsvOperation* CIrMtmUi::DeleteFromL( const CMsvEntrySelection& aSelection, 
hgs
parents:
diff changeset
   636
                                     TRequestStatus& aStatus)
hgs
parents:
diff changeset
   637
hgs
parents:
diff changeset
   638
    {
hgs
parents:
diff changeset
   639
    return CBaseMtmUi::DeleteFromL(aSelection, aStatus);
hgs
parents:
diff changeset
   640
    }
hgs
parents:
diff changeset
   641
hgs
parents:
diff changeset
   642
// ---------------------------------------------------------
hgs
parents:
diff changeset
   643
// DeleteServiceL(...)
hgs
parents:
diff changeset
   644
// IR has no service, just complete it.
hgs
parents:
diff changeset
   645
// ---------------------------------------------------------
hgs
parents:
diff changeset
   646
//
hgs
parents:
diff changeset
   647
CMsvOperation* CIrMtmUi::DeleteServiceL( const TMsvEntry& /*aService*/, 
hgs
parents:
diff changeset
   648
                                        TRequestStatus& aStatus)
hgs
parents:
diff changeset
   649
hgs
parents:
diff changeset
   650
    {
hgs
parents:
diff changeset
   651
    return CMsvCompletedOperation::NewL(
hgs
parents:
diff changeset
   652
        Session(), 
hgs
parents:
diff changeset
   653
        Type(), 
hgs
parents:
diff changeset
   654
        KNullDesC8, 
hgs
parents:
diff changeset
   655
        KMsvLocalServiceIndexEntryId, 
hgs
parents:
diff changeset
   656
        aStatus);
hgs
parents:
diff changeset
   657
    }
hgs
parents:
diff changeset
   658
hgs
parents:
diff changeset
   659
// ---------------------------------------------------------
hgs
parents:
diff changeset
   660
// ReplyL(...)
hgs
parents:
diff changeset
   661
// Reply is forbidden.
hgs
parents:
diff changeset
   662
// ---------------------------------------------------------
hgs
parents:
diff changeset
   663
//
hgs
parents:
diff changeset
   664
CMsvOperation* CIrMtmUi::ReplyL( TMsvId /*aDestination*/, 
hgs
parents:
diff changeset
   665
                                TMsvPartList /*aPartlist*/, 
hgs
parents:
diff changeset
   666
                                TRequestStatus& /*aCompletionStatus*/)
hgs
parents:
diff changeset
   667
    {
hgs
parents:
diff changeset
   668
    User::Leave(KErrNotSupported);
hgs
parents:
diff changeset
   669
    // Return value is needed for removing compilation errors
hgs
parents:
diff changeset
   670
    return NULL;
hgs
parents:
diff changeset
   671
    }
hgs
parents:
diff changeset
   672
hgs
parents:
diff changeset
   673
// ---------------------------------------------------------
hgs
parents:
diff changeset
   674
// ForwardL(...)
hgs
parents:
diff changeset
   675
// Forward is forbidden.
hgs
parents:
diff changeset
   676
// ---------------------------------------------------------
hgs
parents:
diff changeset
   677
//
hgs
parents:
diff changeset
   678
CMsvOperation* CIrMtmUi::ForwardL( TMsvId /*aDestination*/, 
hgs
parents:
diff changeset
   679
                                  TMsvPartList /*aPartList*/, 
hgs
parents:
diff changeset
   680
                                  TRequestStatus& /*aCompletionStatus*/ )
hgs
parents:
diff changeset
   681
    {
hgs
parents:
diff changeset
   682
    User::Leave(KErrNotSupported);
hgs
parents:
diff changeset
   683
    // Return value is needed for removing compilation errors
hgs
parents:
diff changeset
   684
    return NULL;
hgs
parents:
diff changeset
   685
    }
hgs
parents:
diff changeset
   686
hgs
parents:
diff changeset
   687
// ---------------------------------------------------------
hgs
parents:
diff changeset
   688
// CancelL(...)
hgs
parents:
diff changeset
   689
// No MS way of sending a message from the outbox, so no need to cancel.
hgs
parents:
diff changeset
   690
// Just complete it.
hgs
parents:
diff changeset
   691
// ---------------------------------------------------------
hgs
parents:
diff changeset
   692
//
hgs
parents:
diff changeset
   693
CMsvOperation* CIrMtmUi::CancelL( TRequestStatus& aStatus, 
hgs
parents:
diff changeset
   694
                                 const CMsvEntrySelection& /*aSelection*/ )
hgs
parents:
diff changeset
   695
    { 
hgs
parents:
diff changeset
   696
    return CMsvCompletedOperation::NewL(
hgs
parents:
diff changeset
   697
        Session(), 
hgs
parents:
diff changeset
   698
        Type(), 
hgs
parents:
diff changeset
   699
        KNullDesC8, 
hgs
parents:
diff changeset
   700
        KMsvLocalServiceIndexEntryId, 
hgs
parents:
diff changeset
   701
        aStatus, 
hgs
parents:
diff changeset
   702
        KErrNone);
hgs
parents:
diff changeset
   703
    }
hgs
parents:
diff changeset
   704
hgs
parents:
diff changeset
   705
// End of File