diff -r 6369bfd1b60d -r 08b5eae9f9ff upnpharvester/cdssync/cdssynclib/inc/cdssyncsqlao.h --- a/upnpharvester/cdssync/cdssynclib/inc/cdssyncsqlao.h Mon Nov 01 13:44:24 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,199 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Cds Sync Active Object header -* -*/ - - - - - - -#ifndef CDSSYNCSQLAO_H -#define CDSSYNCSQLAO_H - -// FORWARD DECLARATIONS -class MCmSqlMain; -class CCdsSyncImpl; -class CCmSqlBaseItem; -class CCmSqlGenericItem; - -/** - * CCdsSyncSqlAo class - * - * @lib cdssync.lib - * - * @since S60 v3.1 - */ -class CCdsSyncSqlAo : public CActive - { -public: - // active object states - enum TCdsSyncSqlAoState - { - ECdsSyncSqlAoIdle = 0, - ECdsSyncSqlAoAdding, - ECdsSyncSqlAoDeleting, - ECdsSyncSqlAoInitializing - }; - - /** - * Two-phased constructor. - * - * @param aSqlDb, Database handler instance - * @param aSync, CdsSync implementation instance - * @param aItemsToAdd, array of items to be added - * @param aItemsToAdd, array of items to be deleted - * @param aAddGranularity, count of items added at a time - */ - static CCdsSyncSqlAo* NewL( MCmSqlMain& aSqlDb, - CCdsSyncImpl& aSync, - RPointerArray& aItemsToAdd, - RPointerArray& aItemsToDelete, - TInt aAddGranularity ); - - /** - * Two-phased constructor. - * - * @param aSqlDb, Database handler instance - * @param aSync, CdsSync implementation instance - * @param aItemsToAdd, array of items to be added - * @param aItemsToAdd, array of items to be deleted - * @param aAddGranularity, count of items added at a time - */ - static CCdsSyncSqlAo* NewLC( - MCmSqlMain& aSqlDb, - CCdsSyncImpl& aSync, - RPointerArray& aItemsToAdd, - RPointerArray& aItemsToDelete, - TInt aAddGranularity ); - - /** - * Destructor. - */ - virtual ~CCdsSyncSqlAo(); - - /** - * NotifyItemsAddedL - * - * @since S60 v3.1 - * @param aSourceDataComplete, indicates if all source data is added - */ - void NotifyItemsAddedL( TBool aSourceDataComplete = EFalse ); - - /** - * Activate - * - * @since S60 v3.1 - */ - void Activate(); - - protected: - -// From base class CActive - - /** - * From CActive - * See base class definition - */ - void RunL(); - - /** - * From CActive - * See base class definition - */ - void DoCancel(); - -private: - - /** - * Performs the first phase of two phase construction. - * - * @param aSqlDb, Database handler instance - * @param aSync, CdsSync implementation instance - * @param aItemsToAdd, array of items to be added - * @param aItemsToAdd, array of items to be deleted - * @param aAddGranularity, count of items added at a time - */ - CCdsSyncSqlAo( MCmSqlMain& aSqlDb, - CCdsSyncImpl& aSync, - RPointerArray& aItemsToAdd, - RPointerArray& aItemsToDelete, - TInt aAddGranularity ); - - /** - * Performs the second phase construction. - */ - void ConstructL(); - - /** - * Checks metadata amouts and removes overhead items - * - * @since S60 v5.1 - */ - void IfOverLimitDeleteMediaItems(); - -public: - - /** - * Active object state - */ - TCdsSyncSqlAoState iState; - -private: - - /** - * Database handler - */ - MCmSqlMain& iSqlDb; - - /** - * Cds sync implementation reference - */ - CCdsSyncImpl& iSync; - - /** - * Array of items to be added - */ - RPointerArray& iItemsToAdd; - - /** - * Array of items to be deleted - */ - RPointerArray& iItemsToDelete; - - /** - * Amount of files to be added at a time - */ - TInt iAddGranularity; - /** - * Flag for indicating that source data is ready - */ - TBool iSourceDataComplete; - - /** - * Count of items to be added - */ - TInt iItemsInAddition; - -#ifdef _DEBUG - /** - * Time stamps for logging - */ - TTime iOperationTime; -#endif // _DEBUG - -}; - -#endif // CDSSYNCSQLAO_H