--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/homesync/contentmanager/cmserver/cmstoremanager/inc/cmsmmain.h Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,394 @@
+/*
+* 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: Main class in the Store manager component
+*
+*/
+
+
+#ifndef C_CMSMMAIN_H
+#define C_CMSMMAIN_H
+
+#include <e32base.h>
+#include "cmsmfileprocessingobserver.h"
+#include "cmsmtransferobserver.h"
+#include "cmmmobserver.h"
+#include "cmcommon.h"
+#include "cmstoremanager.h"
+
+// Forward declarations
+class MUPnPAVController;
+class MCmServiceObserver;
+class CCmSmTransferEngine;
+class CCmSmFileMngr;
+class CCmDmMain;
+class CCmStoreListItem;
+class CCmSqlPropertyContainer;
+class CCmMmMain;
+class CUpnpAVDeviceList;
+
+
+/**
+ * CCmSmMain class definition
+ *
+ * @lib cmstoremanager.lib
+ *
+ * @since S60 v5.1
+ */
+class CCmSmMain : public CActive,
+ public MCmSmManager,
+ public MCmSmFileProcessingObserver,
+ public MCmSmTransferObserver,
+ public MCmMmObserver
+ {
+
+public:
+
+ /**
+ * Two-phased constructor.
+ * Creates new CCmSmMain class and opens connection to database.
+ *
+ * @since S60 5.1
+ * @param aObserver, observer pointer
+ * @param aSession, Mde session
+ * @param aDBManager, database manager
+ * @param aMemManager, memory manager
+ * @return pointer to CCmSmMain class
+ */
+ static CCmSmMain* NewL(
+ MCmServiceObserver* aObserver, CMdESession& aSession,
+ CCmDmMain* aDBManager, CCmMmMain* aMemManager );
+
+ /**
+ * Two-phased constructor.
+ * Creates new CCmSmMain class and opens connection to database and
+ * leaves the instance in the cleanup stack.
+ *
+ * @since S60 5.1
+ * @param aObserver, observer pointer
+ * @param aSession, Mde session
+ * @param aDBManager, database manager
+ * @param aMemManager, memory manager
+ * @return pointer to CCmSmMain class
+ */
+ static CCmSmMain* NewLC(
+ MCmServiceObserver* aObserver, CMdESession& aSession,
+ CCmDmMain* aDBManager, CCmMmMain* aMemManager );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCmSmMain();
+
+public:
+
+ /**
+ * Starts store service
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void StartStoreL();
+
+ /**
+ * Cancels store service
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void CancelOperation();
+
+ /**
+ * Starts store list processing
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void PreProcessLists();
+
+ /**
+ * Provides album list
+ *
+ * @since S60 5.1
+ * @param aMedia, media type
+ * @param aArray, list of values
+ * @return None
+ */
+ void GetColItemsL( TCmMediaType aMedia,
+ CDesCArray& aArray );
+
+ /**
+ * Provides metadata column item list
+ *
+ * @since S60 5.1
+ * @param aMedia, media type
+ * @param aPropertys, list of values
+ * @return None
+ */
+ void GetColItemsL( TCmMediaType aMedia,
+ CCmSqlPropertyContainer& aPropertys );
+
+ /**
+ * Sets av controller
+ *
+ * @since S60 5.1
+ * @param aAVController, av controller pointer
+ * @return None
+ */
+ void SetAvController( MUPnPAVController* aAVController );
+
+// From base class MCmSmManager
+
+ /**
+ * From MCmSmManager
+ * See base class definition
+ */
+ void Close();
+
+// From base class MCmSmFileProcessingObserver
+
+ /**
+ * From MCmSmFileProcessingObserver
+ * See base class definition
+ */
+ void FileProcessingStatus( TCmSmFileProcessingStatus aStatus );
+
+// From base class MCmSmTransferObserver
+
+ /**
+ * From MCmSmTransferObserver
+ * See base class definition
+ */
+ void TransferStatus( TCmSmTransferStatus aStatus );
+
+// From base class MCmMmObserver
+
+ /**
+ * From MCmMmObserver
+ * See base class definition
+ */
+ void DeleteCompleteL( TInt aErr );
+
+ /**
+ * From MCmMmObserver
+ * See base class definition
+ */
+ void ShrinkCompleteL( TInt aErr );
+
+protected:
+
+// From base class CActive
+
+ /**
+ * From CActive
+ * See base class definition
+ */
+ void RunL();
+
+ /**
+ * From CActive
+ * See base class definition
+ */
+ void DoCancel();
+
+ /**
+ * From CActive
+ * See base class definition
+ */
+ TInt RunError( TInt aError );
+
+private:
+
+ /**
+ * Managing files after storing
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void ManageFileL();
+
+#ifdef _DEBUG
+ /**
+ * Logs server Uuids
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void LogServers();
+#endif
+
+ /**
+ * Publish progress info
+ *
+ * @since S60 5.1
+ * @param aProgress
+ * @return None
+ */
+ void SendProgressInfo( TInt aProgress );
+
+ /**
+ * Changes state
+ *
+ * @since S60 5.1
+ * @param aStatus, defined id for the completing
+ * @return None
+ */
+ void ChangeState( TCmSmMainSequencer aStatus );
+
+ /**
+ * Starts clf refresh timer
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void StartMdETimerL();
+
+ /**
+ * Cancels mde refresh timer
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void CancelMdETimer();
+
+ /**
+ * Call back for clf refresh timer
+ *
+ * @since S60 5.1
+ * @param aPtr, this
+ * @return None
+ */
+ static TInt CheckItems( TAny* aPtr );
+
+ /**
+ * Starts clf refresh if no services ongoing
+ *
+ * @since S60 5.1
+ * @param None
+ * @return KErrNone
+ */
+ TInt CheckItemsChanged( );
+
+ /**
+ * Delete devices
+ *
+ * @since S60 5.1
+ * @param None
+ * @return None
+ */
+ void DeleteDevices();
+
+ /**
+ * Performs the first phase of two phase construction.
+ *
+ * @since S60 5.1
+ * @param aObserver, service observer
+ * @param aDBManager, database manager
+ * @param aMemManager, memory manager
+ */
+ CCmSmMain( MCmServiceObserver* aObserver, CCmDmMain* aDBManager,
+ CCmMmMain* aMemManager );
+
+ /**
+ * Performs the second phase construction.
+ */
+ void ConstructL( CMdESession& aSession, CCmDmMain* aDBManager );
+
+
+private:
+
+ /**
+ * Service observer
+ */
+ MCmServiceObserver* iObserver; // not owned
+
+ /**
+ * Database manager
+ */
+ CCmMmMain* iMemManager; // not owned
+
+ /**
+ * Memory manager
+ */
+ CCmDmMain* iDbManager; // not owned
+
+ /**
+ * Upnp operation manager
+ */
+ CCmSmTransferEngine* iCmSmTransferEngine; // owned
+
+ /**
+ * File manager
+ */
+ CCmSmFileMngr* iCmSmFileMngr; // owned
+
+ /**
+ * Checks if clf state has changed
+ */
+ CPeriodic* iPeriodic; // owned
+
+ /**
+ * Array of found devices
+ */
+ CUpnpAVDeviceList* iDevices; // owned
+
+ /**
+ * Fill progress info
+ */
+ TCmProgressInfo iProgressInfo;
+
+ /**
+ * Logged storing time values
+ */
+ TTime iStoreStarted;
+
+ /**
+ * Index to device array
+ */
+ TInt iDeviceIndex;
+
+ /**
+ * List of store file items
+ */
+ RPointerArray<CCmStoreListItem> iItems; // owned
+
+ /**
+ * List of store item ids
+ */
+ RArray<TInt>iItemIds; // owned
+
+ /**
+ * Id of the current mediaserver
+ */
+ TInt64 iId;
+
+ /**
+ * Service
+ */
+ TCmService iService;
+
+ /**
+ * Flag defining if cancel is on
+ */
+ TBool iCancelOnGoing;
+
+ };
+
+#endif // C_CMSMMAIN_H