filemanager/src/filemanager/src/operationservice/fmoperationbase.cpp
author hgs
Thu, 05 Aug 2010 11:30:07 +0800
changeset 33 328cf6fbe40c
parent 25 b7bfdea70ca2
child 40 4167eb56f30d
permissions -rw-r--r--
201031
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
* 
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*     The source file of the operation param of file manager
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
*/
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include "fmoperationbase.h"
25
hgs
parents: 16
diff changeset
    20
#include "fmdrivedetailstype.h"
hgs
parents: 16
diff changeset
    21
#include <QtAlgorithms>
33
hgs
parents: 25
diff changeset
    22
/*
hgs
parents: 25
diff changeset
    23
 * \fn void showNote( const QString &note )
hgs
parents: 25
diff changeset
    24
 * This signal is emitted when operation needs operation service to show some note.
hgs
parents: 25
diff changeset
    25
 * \a note indicates the note to show. 
hgs
parents: 25
diff changeset
    26
 */
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
33
hgs
parents: 25
diff changeset
    28
/* \fn  void notifyWaiting( bool cancelable )
hgs
parents: 25
diff changeset
    29
 * This signal is emitted when operation needs operation service to wait.
hgs
parents: 25
diff changeset
    30
 * \a cancelable indicates whether it could be canceled.
hgs
parents: 25
diff changeset
    31
 */
hgs
parents: 25
diff changeset
    32
hgs
parents: 25
diff changeset
    33
/* \fn  void notifyPreparing( bool cancelable )
hgs
parents: 25
diff changeset
    34
 * This signal is emitted when operation needs operation service to prepare.
hgs
parents: 25
diff changeset
    35
 * \a cancelable indicates whether it could be canceled.
hgs
parents: 25
diff changeset
    36
 */
hgs
parents: 25
diff changeset
    37
hgs
parents: 25
diff changeset
    38
/* \fn  void notifyStart( bool cancelable, int maxSteps )
hgs
parents: 25
diff changeset
    39
 * This signal is emitted when operation starts and operation service shows progress bar.
hgs
parents: 25
diff changeset
    40
 * \a cancelable indicates whether it could be canceled.
hgs
parents: 25
diff changeset
    41
 * \a maxStep indicates the max of progress bar.
hgs
parents: 25
diff changeset
    42
 */
hgs
parents: 25
diff changeset
    43
    
hgs
parents: 25
diff changeset
    44
/* \fn  void notifyProgress( int currentStep )
hgs
parents: 25
diff changeset
    45
 * This signal is emitted when operation needs operation service update progress bar.
hgs
parents: 25
diff changeset
    46
 * \a currentStep the current step.
hgs
parents: 25
diff changeset
    47
 */
hgs
parents: 25
diff changeset
    48
hgs
parents: 25
diff changeset
    49
/* \fn  void notifyFinish()
hgs
parents: 25
diff changeset
    50
 * This signal is emitted when operation finished.
hgs
parents: 25
diff changeset
    51
 */
hgs
parents: 25
diff changeset
    52
hgs
parents: 25
diff changeset
    53
/* \fn  void notifyError( int error, const QString &errString )
hgs
parents: 25
diff changeset
    54
 * This signal is used to notify error.
hgs
parents: 25
diff changeset
    55
 * \a error the error id.
hgs
parents: 25
diff changeset
    56
 * \a errString the error string.
hgs
parents: 25
diff changeset
    57
 */
hgs
parents: 25
diff changeset
    58
    
hgs
parents: 25
diff changeset
    59
/*
hgs
parents: 25
diff changeset
    60
  Constructs the base operation with
hgs
parents: 25
diff changeset
    61
  \a parent parent
hgs
parents: 25
diff changeset
    62
  \a operationType the type of current operation.
hgs
parents: 25
diff changeset
    63
*/
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
FmOperationBase::FmOperationBase( QObject *parent, FmOperationService::TOperationType operationType ) : 
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
    QObject( parent ), mOperationType( operationType )
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
33
hgs
parents: 25
diff changeset
    69
/*
hgs
parents: 25
diff changeset
    70
  Destructs the operation
hgs
parents: 25
diff changeset
    71
*/
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
FmOperationBase::~FmOperationBase()
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
33
hgs
parents: 25
diff changeset
    77
/*
hgs
parents: 25
diff changeset
    78
  Returns the current operation type
hgs
parents: 25
diff changeset
    79
*/
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
FmOperationService::TOperationType FmOperationBase::operationType()
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
    return mOperationType;
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
33
hgs
parents: 25
diff changeset
    85
/*
hgs
parents: 25
diff changeset
    86
  Starts the operation, called by FmOperationThread.
hgs
parents: 25
diff changeset
    87
  Use empty implementation because Backup and Restore 
hgs
parents: 25
diff changeset
    88
  are not done within thread, so they will not reimplement
hgs
parents: 25
diff changeset
    89
  this function.
hgs
parents: 25
diff changeset
    90
  \sa FmOperationThread::run
hgs
parents: 25
diff changeset
    91
*/
hgs
parents: 25
diff changeset
    92
void FmOperationBase::start( volatile bool */*isStopped*/ )
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
33
hgs
parents: 25
diff changeset
    97
/*
hgs
parents: 25
diff changeset
    98
  Does some additional work before starting the operation.
hgs
parents: 25
diff changeset
    99
  Returns the error number.
hgs
parents: 25
diff changeset
   100
*/
hgs
parents: 25
diff changeset
   101
int FmOperationBase::prepare()
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
{
33
hgs
parents: 25
diff changeset
   103
    return FmErrNone;
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
33
hgs
parents: 25
diff changeset
   107
/*
hgs
parents: 25
diff changeset
   108
  Constructs a backup operation with
hgs
parents: 25
diff changeset
   109
  \a parent parent
hgs
parents: 25
diff changeset
   110
*/
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
FmOperationBackup::FmOperationBackup( QObject *parent )
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
    : FmOperationBase( parent, FmOperationService::EOperationTypeBackup )
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
33
hgs
parents: 25
diff changeset
   116
hgs
parents: 25
diff changeset
   117
/*
hgs
parents: 25
diff changeset
   118
  Destructs the backup operation
hgs
parents: 25
diff changeset
   119
*/
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
FmOperationBackup::~FmOperationBackup()
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
33
hgs
parents: 25
diff changeset
   124
/*
hgs
parents: 25
diff changeset
   125
  Constructs a restore operation with
hgs
parents: 25
diff changeset
   126
  \a parent parent
hgs
parents: 25
diff changeset
   127
  \a selection the selected backup items
hgs
parents: 25
diff changeset
   128
*/
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
FmOperationRestore::FmOperationRestore( QObject *parent, quint64 selection )
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
    : FmOperationBase( parent, FmOperationService::EOperationTypeRestore ), mSelection( selection )
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
33
hgs
parents: 25
diff changeset
   134
/*
hgs
parents: 25
diff changeset
   135
  Destructs the restore operation
hgs
parents: 25
diff changeset
   136
*/
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
FmOperationRestore::~FmOperationRestore()
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
}
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
33
hgs
parents: 25
diff changeset
   141
/*
hgs
parents: 25
diff changeset
   142
  Returns the backup items
hgs
parents: 25
diff changeset
   143
*/
14
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
quint64 FmOperationRestore::selection()
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
{
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
    return mSelection;
1957042d8c7e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
}