--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/homesync/contentmanager/cmserver/cmfillmanager/inc/cmfmmpxnotifier.h Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,179 @@
+/*
+* 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: Mpx nofifier class
+*
+*/
+
+
+
+#ifndef __CMFMMPXNOTIFIER_H
+#define __CMFMMPXNOTIFIER_H
+
+#include <e32base.h>
+#include "mpxmediatorobserver.h" // base class
+#include "mpxcollectionobserver.h" // base class
+
+// Forward declarations
+class MMPXHarvesterUtility;
+class MMPXCollectionUtility;
+class CMPXCollectionMediator;
+
+/**
+ * CCmFmMpxNotifier class
+ * Part of Fill manager.
+ * Mpx nofifier class
+ *
+ * @lib cmfillmanager.lib
+ *
+ * @since S60 5.1
+ */
+NONSHARABLE_CLASS( CCmFmMpxNotifier ): public CBase,
+ public MMPXMediatorObserver,
+ public MMPXCollectionObserver
+ {
+
+public:
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCmFmMpxNotifier* NewL( );
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCmFmMpxNotifier* NewLC( );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCmFmMpxNotifier();
+
+public:
+
+ /**
+ * Notifying Mpx about new music files
+ *
+ * @since S60 5.1
+ * @param aTrackPath, path to track
+ * @param aTrackMetadata, metadata to be added in mpx db
+ * @return None
+ */
+ void NotifyMpxL( const TDesC& aTrackPath,
+ const CUpnpItem& aTrackMetadata );
+
+protected:
+
+// From base class MMPXMediatorObserver
+
+ /**
+ * From MMPXMediatorObserver
+ * See base class definition
+ */
+ void HandleMediatorPathUpdatedL(
+ CMPXMedia*& /*aMedia*/, TUid /*aOldPath*/ ) {}
+
+// From base class MMPXCollectionObserver
+
+ /**
+ * From MMPXCollectionObserver
+ * See base class definition
+ */
+ void HandleCollectionMediaL(
+ const CMPXMedia& /*aMedia*/, TInt /*aError*/) {}
+
+ /**
+ * From MMPXCollectionObserver
+ * See base class definition
+ */
+ void HandleCollectionMessageL(
+ const TMPXCollectionMessage& /*aMessage*/ ) {}
+
+ /**
+ * From MMPXCollectionObserver
+ * See base class definition
+ */
+ void HandleCollectionMessageL(
+ const CMPXMessage& /*aMsg*/ ) {}
+
+ /**
+ * From MMPXCollectionObserver
+ * See base class definition
+ */
+ void HandleOpenL(
+ const CMPXMedia& /*aEntries*/,
+ TInt /*aIndex*/, TBool /*aComplete*/, TInt /*aError*/ ) {}
+
+ /**
+ * From MMPXCollectionObserver
+ * See base class definition
+ */
+ void HandleOpenL(
+ const CMPXCollectionPlaylist& /*aPlaylist*/,
+ TInt /*aError*/ ) {}
+
+ /**
+ * From MMPXCollectionObserver
+ * See base class definition
+ */
+ void HandleCommandComplete(
+ CMPXCommand* /*aCommandResult*/, TInt /*aError*/) {}
+
+private:
+
+ /**
+ * Finds an element within CUpnpItem
+ * returns the element value converted to unicode
+ *
+ * Since S60 5.1
+ * @param aSource the source CUpnpItem
+ * @param aSourceField the element name within source
+ * @return the vield value, or 0 if element not found.
+ */
+ HBufC16* GetElementL( const CUpnpItem& aSource,
+ const TDesC8& aSourceField ) const;
+
+private:
+
+ /**
+ * Performs the first phase of two phase construction.
+ */
+ CCmFmMpxNotifier( );
+
+ /**
+ * Performs the second phase construction.
+ */
+ void ConstructL();
+
+
+private: // data
+
+ /**
+ * MPX harvester utility
+ */
+ MMPXHarvesterUtility* iHarvester; // Owned
+
+ /**
+ * MPX collection utility
+ */
+ MMPXCollectionUtility* iCollectionUtil; // Owned
+
+ /**
+ * MPX collection mediator
+ */
+ CMPXCollectionMediator* iMediator; // Owned
+
+ };
+
+#endif // __CMFMMPXNOTIFIER_H