--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/mcpplugininc/mcppluginobserver.h Mon Apr 19 14:01:53 2010 +0300
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2008-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: Manages MCP plugins, and content publishing.
+*
+*/
+
+
+#ifndef M_MCPPLUGINOBSERVER_H
+#define M_MCPPLUGINOBSERVER_H
+
+class CLiwDefaultMap;
+class CMCPPlugin;
+
+
+/**
+ * Music Widget Image Destinations.
+ * 9.1 Music Widget has two panels, The left panel contains an image:
+ * TMCPImageDestination:EMWImage1, the right panel contains three text
+ * rows: TMCPTextDestination:EMWText1, TMCPTextDestination:EMWText2,
+ * TMCPTextDestination:EMWText3. Actions can be installed into this
+ * two panels to the triggers: TMCPTriggerDestination:EMWTrigger1,
+ * TMCPTriggerDestination:EMWTrigger2.
+ */
+enum TMCPImageDestination
+ {
+ EMusicWidgetImage1 = 1000//do not change
+ };
+
+/**
+ * Music Widget Text Destinations.
+ * 9.1 Music Widget has two panels, The left panel contains an image:
+ * TMCPImageDestination:EMWImage1, the right panel contains three text
+ * rows: TMCPTextDestination:EMWText1, TMCPTextDestination:EMWText2,
+ * TMCPTextDestination:EMWText3. Actions can be installed into this
+ * two panels to the triggers: TMCPTriggerDestination:EMWTrigger1,
+ * TMCPTriggerDestination:EMWTrigger2.
+ */
+enum TMCPTextDestination
+ {
+ EMusicWidgetText1 = 2000//do not change
+ ,EMusicWidgetText2
+ ,EMusicWidgetText3
+ };
+
+/**
+ * Music Widget Action Destinations.
+ * 9.1 Music Widget has two panels, The left panel contains an image:
+ * TMCPImageDestination:EMWImage1, the right panel contains three text
+ * rows: TMCPTextDestination:EMWText1, TMCPTextDestination:EMWText2,
+ * TMCPTextDestination:EMWText3. Actions can be installed into this
+ * two panels to the triggers: TMCPTriggerDestination:EMWTrigger1,
+ * TMCPTriggerDestination:EMWTrigger2.
+ */
+enum TMCPTriggerDestination
+ {
+ EMusicWidgetTrigger1 = 3000//do not change
+ ,EMusicWidgetTrigger2
+ };
+
+/**
+ * Observer interface, to be implemented by the Music Content Publisher.
+ * This interface is to be used to inform the music harves of changes on the
+ * plugin that need to be propagated to the Music Widget UI.
+ * @since S60 5.0
+ */
+class MMCPPluginObserver
+ {
+public:
+
+ /**
+ * Called when an image needs to be updated.
+ *
+ * @since S60 5.0
+ * @param aPlugin Where the mesage is coming from.
+ * @param aDestination Where the image is to be placed.
+ * @param aImagePath Source path of the Image.
+ */
+ virtual void PublishImageL(CMCPPlugin* aPlugin,
+ TMCPImageDestination aDestination, const TDesC& aImagePath) = 0;
+
+ /**
+ * Called when an image needs to be updated.
+ *
+ * @since S60 5.0
+ * @param aPlugin Where the mesage is coming from.
+ * @param aDestination Where the image is to be placed.
+ * @param aBitmapHandle Bitmap handle to the image.
+ */
+ virtual void PublishImageL(CMCPPlugin* aPlugin,
+ TMCPImageDestination aDestination, TInt aBitmapHandle) = 0;
+
+ /**
+ * Called when a text needs to be updated.
+ *
+ * @since S60 5.0
+ * @param aPlugin Where the mesage is coming from.
+ * @param aDestination Where the text is to be placed.
+ * @param aText Descriptor containing the text.
+ */
+ virtual void PublishTextL( CMCPPlugin* aPlugin,
+ TMCPTextDestination aDestination, const TDesC& aText ) = 0;
+
+ /**
+ * Called when an action needs to be updated.
+ *
+ * @since S60 5.0
+ * @param aPlugin Where the mesage is coming from.
+ * @param aDestination Destination trigger that should launch the action.
+ * @param aTrigerMap LIW Map containint the action that can be interpreted
+ * by the specified action handler plugin.
+ */
+ virtual void PublishActionL( CMCPPlugin* aPlugin,
+ TMCPTriggerDestination aDestination,
+ CLiwDefaultMap* aTrigerMap ) = 0;
+
+ /**
+ * Called when a plugin becomes active.
+ *
+ * @since S60 5.0
+ * @param aPlugin Where the mesage is coming from.
+ */
+ virtual void BecameActiveL( CMCPPlugin* aPlugin ) = 0;
+
+ };
+
+#endif /*MCPPLUGINOBSERVER_H*/