--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videofeeds/server/IptvEpgManager/inc/CIptvEpgPluginInterface.h Mon Jan 18 20:21:12 2010 +0200
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2004-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:
+*
+*/
+
+
+
+
+#ifndef CIPTVEPGPLUGININTERFACE_H
+#define CIPTVEPGPLUGININTERFACE_H
+
+#include <e32base.h>
+#include <ecom/ecom.h>
+#include "MIptvEpgVodCallback.h"
+#include "MIptvEpgLiveTvCallback.h"
+
+#include "CIptvEpgService.h"
+
+class CIptvEpgPluginInterface : public CBase
+ {
+ public:
+
+ /**
+ * RSS Parser states.
+ */
+ typedef enum
+ {
+ EIptvRssNone,
+ EIptvRssService,
+ EIptvRssSearch,
+ EIptvRssServiceGroup,
+ EIptvRssAddServiceThumbnailToDlQueue,
+ EIptvRssAddItemThumbnailToDlQueue
+ } TIptvRSSAction;
+
+ /**
+ * Two-phased constructor.
+ *
+ * @param aImplementationUid Plugin UID.
+ */
+ static CIptvEpgPluginInterface* NewL(const TUid aImplementationUid);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CIptvEpgPluginInterface();
+
+ /**
+ * Run plugin.
+ */
+ virtual void RunPlugin() = 0;
+
+ /**
+ * Set callback pointer to MIptvEpgVodCallback. Plugin uses
+ * MIptvEpgVodCallback interface to supply Epg data to system.
+ *
+ * @param aVodCallback Pointer to callback interface.
+ */
+ virtual void SetVodCallback(MIptvEpgVodCallback* aVodCallback) = 0;
+
+ /**
+ * Set callback pointer to MIptvEpgLiveTvCallback.
+ *
+ * @param aLiveTvCallback Pointer to callback interface.
+ */
+ virtual void SetLiveTvCallback(MIptvEpgLiveTvCallback* aLiveTvCallback) = 0;
+
+ /**
+ * Set service information to plugin.
+ */
+ virtual void SetServiceInformation(
+ CIptvEpgService* aService,
+ TBool aUseSearchAddress = EFalse ) = 0;
+
+ /**
+ * Set service information to plugin.
+ */
+ virtual void SetServiceInformationL(
+ CIptvEpgService* aService,
+ TIptvRSSAction aAction ) = 0;
+
+ /**
+ * Set first update.
+ *
+ * @param aFirstUpdate aFirstUpdate is ETrue if plugin in running first time
+ * after EPG database is created.
+ */
+ virtual void SetFirstUpdate( TBool aFirstUpdate ) = 0;
+
+ private:
+ TUid iDestructorIDKey;
+ };
+
+// This includes the implementation of the ECOM instantiation functions and destructor
+#include "CIptvEpgPluginInterface.inl"
+
+#endif // CIPTVEPGPLUGININTERFACE_H