--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpharvester/common/dbmanager/inc/cmdmsqliteconnection.h Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,1147 @@
+/*
+* Copyright (c) 2008 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: SQLite Connection class
+*
+*/
+
+
+
+
+
+
+
+#ifndef C_CMDMSQLITECONNECTION_H
+#define C_CMDMSQLITECONNECTION_H
+
+#include <e32base.h>
+
+#include "sqldb.h" // Symbian SQLite
+#include "cmdmmain.h" // TCMQueryCmdType
+
+/* Forward declarations. */
+class CCmFillRule;
+class CCmMediaServerFull;
+class CCmStoreRule;
+class CCmBaseListItem;
+class CCmFillListItem;
+class CCmStoreListItem;
+class CCmDriveInfo;
+
+
+// CLASS DECLARATION
+ /**
+ * Class represents methods to communication with SQLite database API.
+ * @lib cmdatabasemanager.lib
+ * @since S60 5.1
+ */
+NONSHARABLE_CLASS( CCmDmSQLiteConnection ): public CBase
+ {
+
+public:
+
+ // ID types
+ enum TTypeOfID
+ {
+ ERuleGroupID = 1,
+ ERuleID,
+ ERuleParamID,
+ EMediaServerID,
+ EStoredID,
+ EFilledID,
+ EStoreRuleID,
+ EStoreRuleParamID,
+ EFillFileListId,
+ EStoreFileListId
+ };
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCmDmSQLiteConnection* NewL();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCmDmSQLiteConnection* NewLC();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCmDmSQLiteConnection();
+
+ /**
+ * Open database (creates if doesn't exist)
+ *
+ * @since S60 5.1
+ * @param aDb, Database filename and path
+ * @return TInt, Error code
+ */
+ TInt OpenDb( const TDesC& aDb );
+
+ /**
+ * Close opened database
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void CloseDb();
+
+ /**
+ * Initializes Database ids
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void InitIDs();
+
+ /**
+ * Initializes Database id
+ *
+ * @since S60 5.1
+ * @param aType, ID type
+ * @return None
+ */
+ void SetID( TTypeOfID aType );
+
+ /**
+ * Backups id to database
+ *
+ * @since S60 5.1
+ * @param aType, ID type
+ * @param aID, ID value
+ * @return None
+ */
+ void BackUpIdL( TTypeOfID aType, TUint64 aID );
+
+ /**
+ * Loads Database ids
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void LoadIDs();
+
+ /**
+ * Loads Database id
+ *
+ * @since S60 5.1
+ * @param aId, ID value
+ * @param aType, ID type
+ * @return None
+ */
+ void LoadIDL( TUint64& aId, TTypeOfID aType );
+
+ /**
+ * Creates db file
+ * @since S60 5.1
+ * @param aDb, Database filename and path
+ * @return TInt, error code
+ */
+ TInt CreateDbFile( const TDesC& aDb );
+
+ /**
+ * Check Validity of database
+ *
+ * @since S60 5.1
+ * @param None
+ * @return ETrue if database is OK
+ */
+ TBool Validate();
+
+ /**
+ * Execute sql command (not a query)
+ *
+ * @since S60 5.1
+ * @param aCommand, SQL clause to be executed (can include wildcards)
+ * @return TInt, KErrNone if successful, otherwise one of the error codes.
+ */
+ void ExecuteL( const TDesC8& aCommand );
+
+ /**
+ * Sets fill file list into db
+ *
+ * @since S60 5.1
+ * @param aItems, fill list item array
+ * @return TInt, Error code
+ */
+ TInt SetFillFiles( RPointerArray<CCmFillListItem>& aItems );
+
+ /**
+ * Sets store file list into db
+ *
+ * @since S60 5.1
+ * @param aItems, store list item array
+ * @return TInt, Error code
+ */
+ TInt SetStoreFilesL( RPointerArray<CCmStoreListItem>& aItems );
+
+ /**
+ * Set one store file into db
+ *
+ * @since S60 5.1
+ * @param aItem, store list item
+ * @return TInt, Error code
+ */
+ TInt AddStoreFile( CCmStoreListItem& aItem );
+
+ /**
+ * Add stored media into database
+ *
+ * @since S60 5.1
+ * @param aFileName, store file name
+ * @param aUDN, mediaserver udn
+ * @param aTimeStamp, timestamp
+ * @return TInt, Error code
+ */
+ TInt AddStoredL(
+ const TDesC& aFileName,
+ const TDesC8& aUDN,
+ TTime aTimeStamp );
+
+ /**
+ * Add fill rule into database
+ *
+ * @since S60 5.1
+ * @param aFillRule, fill list
+ * @return TInt, Error code
+ */
+ TInt AddFillRuleL( CCmFillRule* aFillRule );
+
+ /**
+ * Add fill rule specific media servers
+ *
+ * @since S60 5.1
+ * @param aFillRule, fill list
+ * @return TInt, Error code
+ */
+ TInt AddFillRuleMediaServersL( CCmFillRule* aFillRule );
+
+ /**
+ * Add fill rule informations and parameters
+ *
+ * @since S60 5.1
+ * @param aFillRule, fill list
+ * @return TInt, Error code
+ */
+ TInt AddFillRuleRulesAndParamsL( CCmFillRule* aFillRule );
+
+ /**
+ * Add store rule
+ *
+ * @since S60 5.1
+ * @param aStoreRule, store list
+ * @return TInt, Error code
+ */
+ TInt AddStoreRuleL( CCmStoreRule* aStoreRule );
+
+ /**
+ * Add store rule informations and parameters
+ *
+ * @since S60 5.1
+ * @param aStoreRule, store list
+ * @return TInt, Error code
+ */
+ TInt AddStoreRuleParamsL( CCmStoreRule* aStoreRule );
+
+ /**
+ * Add store rule mediaServers
+ *
+ * @since S60 5.1
+ * @param aStoreRule, store list
+ * @return TInt, Error code
+ */
+ TInt AddStoreRuleMediaServersL( CCmStoreRule* aStoreRule );
+
+ /**
+ * Add media server info into database
+ *
+ * @since S60 5.1
+ * @param aMediaServer, media server
+ * @return TInt, Error code
+ */
+ TInt AddMediaServerL( CCmMediaServerFull* aMediaServer );
+
+ /**
+ * Add hash value
+ *
+ * @since S60 5.1
+ * @param aMediaServer, media server id
+ * @param aHashValue, hash value
+ * @return TInt, Error code
+ */
+ TInt AddHashValue( TInt64 aMediaServerId,
+ CCmSearchResponseHash* aHashValue );
+
+ /**
+ * Query hash value
+ *
+ * @since S60 5.1
+ * @param aMediaServer, media server id
+ * @param aHashValues, hash values
+ * @return TInt, Error code
+ */
+ TInt QueryHashValuesL( TInt aMediaServer,
+ RPointerArray<CCmSearchResponseHash>& aHashValues );
+
+ /**
+ * Sets is active status of the media server
+ * Sets the Media server's name
+ * @since S60 5.1
+ * @param aServers, server list
+ * @return TInt, Error code
+ */
+ TInt SetMediaServersL(
+ RPointerArray<CCmMediaServerFull>& aServers );
+
+ /**
+ * Sets last syncs time
+ * @since S60 5.1
+ * @param None
+ * @return TInt, Error code
+ */
+ TInt SetSyncTime();
+
+ /**
+ * Gets last syncs time
+ * @since S60 5.1
+ * @param aTime last sync time
+ * @return TInt, Error code
+ */
+ TInt GetSyncTime( TTime& aTime );
+
+ /**
+ * Sets Progress info
+ * @since S60 5.1
+ * @param aTransferred how many files transferred
+ * @param aTotalCount how many will be trasferred
+ * @return TInt, Error code
+ */
+ TInt SetProgressInfo( TInt aTransferred, TInt aTotalCount );
+
+ /**
+ * Gets Progress info
+ * @since S60 5.1
+ * @param aTransferred how many files transferred
+ * @param aTotalCount how many will be trasferred
+ * @return TInt, Error code
+ */
+ TInt GetProgressInfo( TInt& aTransferred, TInt& aTotalCount );
+
+ /**
+ * Sets Drives info
+ * @since S60 5.1
+ * @param aDrives, drives to be set into database
+ * @return TInt, None
+ */
+ void SetDrivesL( RPointerArray<CCmDriveInfo>& aDrives );
+
+ /**
+ * Delete media server info from the database
+ *
+ * @since S60 5.1
+ * @param aUDN, server udn
+ * @return TInt, Error code
+ */
+ TInt DeleteMediaServer( const TDesC8& aUDN );
+
+ /**
+ * Delete fill rule
+ *
+ * @since S60 5.1
+ * @param aName, fill list name
+ * @return TInt, Error code
+ */
+ TInt DeleteFillRuleByName( const TDesC8& aName );
+
+ /**
+ * Delete all fill rules
+ *
+ * @since S60 5.1
+ * @param None
+ * @return TInt, Error code
+ */
+ TInt DeleteAllFillRules();
+
+ /**
+ * Delete all store rules
+ *
+ * @since S60 5.1
+ * @param None
+ * @return TInt, Error code
+ */
+ TInt DeleteAllStoreRules();
+
+ /**
+ * Delete all fill files
+ *
+ * @since S60 5.1
+ * @param None
+ * @return TInt, Error code
+ */
+ TInt DeleteFillFiles();
+
+ /**
+ * Delete all store files
+ *
+ * @since S60 5.1
+ * @param None
+ * @return TInt, Error code
+ */
+ TInt DeleteStoreFiles();
+
+ /**
+ * Delete deleted items
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void DeleteDeletedItemsL();
+
+ /**
+ * Delete deleted media servers
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void DeleteDeletedMediaServersL();
+
+ /**
+ * Deletes hash values
+ *
+ * @since S60 5.1
+ * @param aMediaServerId, media server id
+ * @param aSearchIndex, search index
+ * @return None
+ */
+ void DeleteHashValuesL( const TInt aMediaserverId,
+ const TInt aSearchIndex );
+
+ /**
+ * Update media server info
+ *
+ * @since S 60 5.1
+ * @param aMediaServer, mediaserver
+ * @return TInt, Error code
+ */
+ TInt UpdateMediaServerInfo( CCmMediaServerFull* aMediaServer );
+
+ /**
+ * Update Fill rules selected state
+ *
+ * @since S60 5.1
+ * @param aName, fill list name
+ * @param aSelected, selection status
+ * @return TInt, Error code
+ */
+ TInt UpdateFillRuleSelected( const TDesC8& aName, TInt aSelected );
+
+ /**
+ * update the fill rule realsize and realcount field
+ * @since S60 5.1
+ * @return TInt, error code
+ */
+ TInt UpdateFillRuleGroupInfo();
+
+ /**
+ * Update download history
+ *
+ * @since S60 5.1
+ * @param aMediaServerId, mediaserver id
+ * @param aDownloadData, download data size
+ * @param aDownloadTime, download time
+ * @return TInt, Error code
+ */
+ TInt UpdateDownloadHistory( TUint aMediaServerId, TInt64& aDownloadData,
+ TInt64& aDownloadTime );
+
+ /**
+ * Update upload history
+ *
+ * @since S60 5.1
+ * @param aMediaServerId, mediaserver id
+ * @param aUploadData, upload data size
+ * @param aUploadTime, upload time
+ * @return TInt, Error code
+ */
+ TInt UpdateUploadHistory( TUint aMediaServerId, TInt64& aUploadData,
+ TInt64& aUploadTime );
+
+ /**
+ * Update status values
+ *
+ * @since S60 5.1
+ * @param aStatusValues, item statuses
+ * @return TInt, Error code
+ */
+ TInt UpdateStatusValues(
+ RPointerArray<CCmBaseListItem>& aStatusValues );
+
+ /**
+ * Update fill list drive statuses
+ *
+ * @since S60 5.1
+ * @param aDrive, drive info
+ * @para aDriveSelected, if ETrue drive selected but slot changed
+ * @return None
+ */
+ void UpdateFillListDriveStatusesL( CCmDriveInfo* aOrigDrive,
+ CCmDriveInfo* aNewDrive, TBool aDriveSelected );
+
+ /**
+ * Update fill list item priorities and status
+ *
+ * @since S60 5.1
+ * @param aContainer, fill list container
+ * @return TInt, Error code
+ */
+ TInt UpdateFillListItemPriority( CCmFillRuleContainer* aContainer );
+
+ /**
+ * Update fill selection state into fill file table
+ *
+ * @since S60 5.1
+ * @param aListName, fill list name
+ * @param aState, list status
+ * @return None
+ */
+ void SetFillListStateL( const TUint aListName,
+ TCmFillRuleStatus aState );
+
+ /**
+ * Restoring file statuses
+ *
+ * @since S60 5.1
+ * @param aFileNames, array of filled items
+ * @param aListName, list name
+ * @return None
+ */
+ void RestoreFileStatusesL(
+ const RPointerArray<CCmFillListItem>& aItems,
+ const TDesC8& aListName );
+
+ /**
+ * DoRestoring file statuses
+ *
+ * @since S60 5.1
+ * @param aItems, array of filled items
+ * @param aStatus, Status to be restored
+ * @return None
+ */
+ void DoRestoreFileStatusesL(
+ const RPointerArray<CCmFillListItem>& aItems,
+ const TUint aStatus );
+
+ /**
+ * Initializes all reference ids to zero
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void SetRefIdsToZero();
+
+ /**
+ * Increment image shrinking history info
+ * @since S60 5.1
+ * @param aImageCount, image count
+ * @param aMilliSeconds, shrinking time
+ * @return TInt, Error code
+ */
+ TInt IncrementShrinkTimeL( TInt aImageCount,
+ TInt aMilliSeconds );
+
+ /**
+ * Prepare query
+ *
+ * @since S60 5.1
+ * @param Type, query type
+ * @return None
+ */
+ void PrepareQueryCmdL( TCMQueryCmdType aType );
+
+ /**
+ * Query fill rule
+ *
+ * @since S60 5.1
+ * @param aFillRule, fill list
+ * @return TInt, Error code
+ */
+ TInt QueryFillRuleL( CCmFillRule* aFillRule );
+
+ /**
+ * Query fill rule servers
+ *
+ * @since S60 5.1
+ * @param aFillRule, fill list
+ * @param aRuleGroupID, rule group id
+ * @return TInt, Error code
+ */
+ TInt QueryFillRuleServersL( CCmFillRule* aFillRule,
+ TUint64 aRuleGroupID );
+
+ /**
+ * Query fill rule params
+ *
+ * @since S60 5.1
+ * @param aFillRule, fill list
+ * @return TInt, Error code
+ */
+ TInt QueryFillRuleParamsL( CCmFillRule* aFillRule );
+
+ /**
+ * Query selected ( 1 = selected and 0 = unselected )
+ * fill rule names
+ *
+ * @since S60 5.1
+ * @param aNames, list names
+ * @param aSelected, selection status
+ * @return None
+ */
+ void QuerySelectedFillRuleNamesL( RPointerArray<HBufC8>& aNames,
+ TInt aSelected );
+
+ /**
+ * Query names of all fill rules
+ *
+ * @since S60 5.1
+ * @param aNames, on return fill rule names
+ * @return None
+ */
+ void QueryFillRuleNamesL( RPointerArray<HBufC8>& aNames );
+
+ /**
+ * Query store rule
+ *
+ * @since S60 5.1
+ * @param aStoreRule, store list
+ * @return TInt, Error code
+ */
+ TInt QueryStoreRuleL( CCmStoreRule* aStoreRule );
+
+ /**
+ * Query store rule defs
+ *
+ * @since S60 5.1
+ * @param aStoreRule, store list
+ * @param aRuleGroupID, rule group id
+ * @return TInt, Error code
+ */
+ TInt QueryStoreRuleDefsL( CCmStoreRule* aStoreRule,
+ TUint64 aRuleGroupID );
+
+ /**
+ * Query store rule names
+ *
+ * @since S60 5.1
+ * @param aNames, store list names
+ * @return None
+ */
+ void QueryStoreRuleNamesL( RPointerArray<HBufC8>& aNames );
+
+ /**
+ * Query selected store rule namess
+ *
+ * @since S60 5.1
+ * @param aNames, store list names
+ * @param aSelected, selection status
+ * @return TInt, Error code
+ */
+ void QuerySelectedStoreRuleNamesL( RPointerArray<HBufC8>& aNames,
+ TInt aSelected );
+
+ /**
+ * Query media server
+ *
+ * @since S60 5.1
+ * @param aMediaServer, mediaserver
+ * @return TInt, Error code
+ */
+ TInt QueryMediaServerL( CCmMediaServerFull* aMediaServer );
+
+ /**
+ * Query media server Id
+ *
+ * @since S60 5.1
+ * @param aUDN, server udn
+ * @return TInt64, Server id
+ */
+ TInt64 QueryMediaServerId( const TDesC8& aUDN );
+
+ /**
+ * Query media server udn
+ *
+ * @since S60 5.1
+ * @param aUDN, server udn
+ * @param aId, server id
+ * @return TInt, Error code
+ */
+ TInt QueryMediaServerUdn( HBufC8*& aUdn,
+ const TInt32 aId );
+
+ /**
+ * Query all media servers
+ *
+ * @since S60 5.1
+ * @param aMediaServer, mediaserver
+ * @return TInt, Error code
+ */
+ TInt QueryAllMediaServersL( CCmMediaServerFull* aMediaServer );
+
+ /**
+ * Get media servers
+ *
+ * @since S60 5.1
+ * @param aMediaServers, mediaserver list
+ * @return None
+ */
+ void GetMediaServersL(
+ RPointerArray<CCmMediaServerFull>& aMediaServers );
+
+ /**
+ * Query all lowest priority filled files
+ *
+ * @since S60 5.1
+ * @param aDrive, drive id
+ * @param aFilled, list of filled items
+ * @return TInt, Error code
+ */
+ TInt GetLowPriorityFilledFilesL( TInt aDrive,
+ RPointerArray<CCmFillListItem>& aFilled );
+
+ /**
+ * Query all files defined in fill file list using fill list name as
+ * a query parameter
+ *
+ * @since S60 5.1
+ * @param aItems, fill list items
+ * @param aName, fill list name
+ * @param aStatus, selection status
+ * @return TInt, Error code
+ */
+ TInt QueryFillFileListL(
+ RPointerArray<CCmBaseListItem>& aItems,
+ const TDesC8& aName,
+ TUint aStatus );
+
+ /**
+ * Query fill file list
+ * @since S60 5.1
+ * @param aItems, fill list items
+ * @param aStatus, list status
+ * @return TInt, Error code
+ */
+ TInt GetAllFillFilesL(
+ RPointerArray<CCmFillListItem>& aItems, TUint aStatus );
+
+ /**
+ * Query all files defined in store file list using store list name as
+ * a query parameter
+ *
+ * @since S60 5.1
+ * @param aItems, store list items
+ * @param aName, store list name
+ * @param aStatus, store list status
+ * @return TInt, Error code
+ */
+ TInt QueryStoreFileListL(
+ RPointerArray<CCmBaseListItem>& aItems,
+ const TDesC8& aName,
+ TUint aStatus );
+
+ /**
+ * Query store file list
+ * @since S60 5.1
+ * @param aItems, store list items
+ * @param aStatus, list status
+ * @return TInt, Error code
+ */
+ TInt GetAllStoreFilesL(
+ RPointerArray<CCmStoreListItem>& aItems, TUint aStatus );
+
+ /**
+ * Query all files defined in fill file list
+ *
+ * @since S60 5.1
+ * @param aItems, fill list items
+ * @return TInt, Error code
+ */
+ TInt QueryAllFillFilesL( RPointerArray<CCmFillListItem>& aItems);
+
+ /**
+ * Query all files defined in store file list
+ *
+ * @since S60 5.1
+ * @param aItems, store list items
+ * @return TInt, Error code
+ */
+ TInt QueryAllStoreFilesL( RPointerArray<CCmStoreListItem>& aItems );
+
+ /**
+ * Query stored row
+ *
+ * @since S60 5.1
+ * @param aFiles, stored items
+ * @param aUDN, server udn
+ * @param aAmount, item count
+ * @return None
+ */
+ void QueryStoredRowL(
+ RPointerArray<HBufC16>& aFiles,
+ const TDesC8& aUDN,
+ TInt aAmount );
+
+ /**
+ * Query transfer history
+ *
+ * @since S60 5.1
+ * @param aUdn, server udn
+ * @param aDownloadData, downloaded data
+ * @param aUploadData, uploaded data
+ * @param aDownloadTime, download time
+ * @param aUploadTime, upload time
+ * @return None
+ */
+ void QueryTransferHistory(
+ const TDesC8& aUdn,
+ TInt64& aDownloadData,
+ TInt64& aUploadData,
+ TInt64& aDownloadTime,
+ TInt64& aUploadTime );
+
+
+ /**
+ * Query deleted items list
+ *
+ * @since S60 5.1
+ * @param aUdn, server udn
+ * @param aArray, deleted items
+ * @param aStatus, item status
+ * @return None
+ */
+ void QueryDeletedItemsListsL(
+ RPointerArray<CCmBaseListItem>& aArray, TUint aStatus );
+
+ /**
+ * Query drives
+ *
+ * @since S60 5.1
+ * @param aDrives, drive array
+ * @return None
+ */
+ void QueryDrivesL( RPointerArray<CCmDriveInfo>& aDrives );
+
+ /**
+ * Avarage image shrinking time
+ *
+ * @since S60 5.1
+ * @param None
+ * @return TInt, Avarage image shrinking time in millisecond
+ */
+ TInt GetAvgImageShrinkTime();
+
+ /**
+ * Get list name using list id
+ *
+ * @since S60 5.1
+ * @param aListName, name of the fill list
+ * @param aListId, id of the named list
+ * @return None
+ */
+ void GetFillListNameL( HBufC8*& aListName,
+ const TInt64 aListId );
+
+ /**
+ * Returns size of the named fill list
+ *
+ * @since S60 5.1
+ * @param aListName, fill list name
+ * @param aStatus, list status
+ * @return TInt64, size of the list
+ */
+ TInt64 FillListSize( const TDesC8& aListName, TUint aStatus );
+
+ /**
+ * Returns size of the named store list
+ *
+ * @since S60 5.1
+ * @param aListName, store list name
+ * @param aStatus, lis status
+ * @return TInt64, size of the list
+ */
+ TInt64 StoreListSize( const TDesC8& aListName, TUint aStatus );
+
+ /**
+ * Returns file count which are waiting to be stored
+ *
+ * @since S60 5.1
+ * @param aStatus, item status
+ * @return TInt, size of the list
+ */
+ TInt StoreFileCount( TUint aStatus );
+
+ /**
+ * Returns file count which are waiting to be stored
+ *
+ * @since S60 5.1
+ * @param None
+ * @return TInt, size of the list
+ */
+ TInt StoreFileCountNoDuplicates();
+
+ /**
+ * Returns file count which are waiting to be filled
+ *
+ * @since S60 5.1
+ * @param aStatus, item status
+ * @return TInt, size of the list
+ */
+ TInt FillFileCount( TUint aStatus );
+
+ /**
+ * Returns data amount filled
+ * @since S60 v3.1
+ * @param aID id of fill rule
+ * @return sum of file sizes
+ */
+ TInt64 BytesFilled( TUint aID );
+
+ /**
+ * @since S60 5.1
+ * @param aMediaServerId, mediaserver id
+ * @param aStatus, item status
+ * @return TInt64, sum of file sizes
+ */
+ TInt64 KBytesToBeFilled( TUint8 aMediaServerId,
+ TUint aStatus );
+
+ /**
+ * Returns data amount to be stored
+ *
+ * @since S60 5.1
+ * @param aMediaServerId, mediaserver id
+ * @param aStatus, item status
+ * @return TInt64, sum of file sizes
+ */
+ TInt64 KBytesToBeStored( TUint8 aMediaServerId,
+ TUint aStatus );
+
+ /**
+ * Updates list size and approx. transfer time
+ *
+ * @since S60 5.1
+ * @param aService, service
+ * @param aCount, pieces
+ * @param aTime, in milliseconds
+ * @return TInt, error code
+ */
+ TInt UpdateTransferInfo( TCmService aService,
+ TInt aCount, TInt aTime );
+
+ /**
+ * Updates file status
+ *
+ * @since S60 5.1
+ * @param aStatus, transfer status
+ * @param aFid, file id
+ * @param aMsId, server id
+ * @return None
+ */
+ void UpdateStoreTransferStatus( TUint aStatus,
+ TInt64 aFid, TInt64 aMsId );
+
+ /**
+ * Updates file status
+ *
+ * @since S60 5.1
+ * @param aStatus, transfer status
+ * @param aItem, fill list item
+ * @return None
+ */
+ void UpdateFillTransferStatus( TUint aStatus,
+ CCmFillListItem* aItem );
+
+ /**
+ * Get list size and approx. transfer time
+ *
+ * @since S60 5.1
+ * @param aService, service
+ * @param aCount, pieces
+ * @param aTime, in milliseconds
+ * @return TInt, error code
+ */
+ TInt GetTransferInfo( TCmService aService, TInt& aCount, TInt& aTime );
+
+ /**
+ * Files to be stored and included into specified list
+ *
+ * @since S60 5.1
+ * @param aListName, store list name
+ * @param aStatus, list status
+ * @param aCount, pieces
+ * @return TInt, error code
+ */
+ TInt GetStoreFileCount(
+ const TDesC8& aListName,
+ TUint aStatus,
+ TInt& aCount );
+
+ /**
+ * Files to be filled and included into specified list
+ *
+ * @since S60 5.1
+ * @param aListName, fill list name
+ * @param aStatus, list status
+ * @param aCount, pieces
+ * @return TInt, error code
+ */
+ TInt GetFillFileCount(
+ const TDesC8& aListName,
+ TUint aStatus,
+ TInt& aCount );
+
+ /**
+ * Files to be stored
+ * @since S60 5.1
+ * @param aCount, file count
+ * @param aStatus, status
+ * @return None
+ */
+ void GetStoreFileCountNoDuplicatesL( TInt& aCount, TUint aStatus );
+
+ /**
+ * Sets fill list real information
+ *
+ * @since S60 5.1
+ * @param aListId, fill list id
+ * @param aRealCount, real item count
+ * @param aRealSize, real data size
+ * @return None
+ */
+ void SetFillListRealCountAndSizeL( TInt64 aListId,
+ TInt64 aRealCount, TInt64 aRealSize );
+
+ /**
+ * Deletes in active rule servers
+ * @since S60 5.1
+ * @param None
+ * @return TInt, error code
+ */
+ TInt DeleteInActiveRuleServers();
+
+ /**
+ * Deletes in active rule servers
+ *
+ * @since S60 5.1
+ * @param None
+ * @return TInt, error code
+ */
+ TInt DeleteInActiveFiles();
+
+ /**
+ * Deletes item by FillListId
+ *
+ * @since S60 5.1
+ * @param FillListId, fill list id
+ * @return TInt error code
+ */
+ TInt DeleteItemsByFillListId( TInt aFillListId );
+
+ /**
+ * Returns rule id with defined type
+ *
+ * @since S60 5.1
+ * @param aName, rule name
+ * @param aType, rule type
+ * @return TInt64, Rule id
+ */
+ TInt64 RuleId( const TDesC8& aName, TCmRuleType aType );
+
+
+private:
+
+ /**
+ * Performs the first phase of two phase construction.
+ */
+ CCmDmSQLiteConnection();
+
+ /**
+ * Performs the second phase construction.
+ */
+ void ConstructL();
+
+
+private:
+
+ /**
+ * iDatabase, interface to Sqlite database
+ */
+ RSqlDatabase iDatabase;
+
+ /**
+ * iStatement, interface to Sqlite database
+ */
+ RSqlStatement iStatement;
+
+ /**
+ * rule group id
+ */
+ TUint64 iRuleGroupID;
+ /**
+ * rule id
+ */
+ TUint64 iRuleID;
+ /**
+ * rule param id
+ */
+ TUint64 iRuleParamID;
+ /**
+ * mediaserver id
+ */
+ TUint64 iMediaServerID;
+ /**
+ * stored id
+ */
+ TUint64 iStoredID;
+ /**
+ * filled id
+ */
+ TUint64 iFilledID;
+ /**
+ * store rule id
+ */
+ TUint64 iStoreRuleID;
+ /**
+ * store rule param id
+ */
+ TUint64 iStoreRuleParamID;
+ /**
+ * fill file id
+ */
+ TUint64 iFillFileId;
+ /**
+ * store file id
+ */
+ TUint64 iStoreFileId;
+ /**
+ * Query handle
+ */
+ TInt iHandle;
+
+ };
+
+#endif // C_CMDMSQLITECONNECTION_H