diff -r 000000000000 -r 96612d01cf9f videofeeds/server/IptvEpgManager/inc/CIptvEpgPluginInterface.h --- /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 +#include +#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