diff -r 000000000000 -r 96612d01cf9f videofeeds/livetvutils/inc/CIptvEpgChannel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/livetvutils/inc/CIptvEpgChannel.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,150 @@ +/* +* Copyright (c) 2005 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: Class to provide channel data to* +*/ + + + + +#ifndef __CIPTVEPGCHANNEL_H__ +#define __CIPTVEPGCHANNEL_H__ + +#include +#include +#include + +#include "IptvLiveEpgConstants.h" + +/** +* "Carrier" class to contain data for single channel occurence in EPG xml +* file. This class is used to communicate data from xml content handler +* to EPG manager to be stored to the database. +*/ +class CIptvEpgChannel : public CBase + { + public: + /** + * Symbian two phase constructor + * @param None + * @return Created instance of CIptvEpgChannel + */ + IMPORT_C static CIptvEpgChannel* NewL(); + + /** + * Destructor + */ + virtual ~CIptvEpgChannel(); + + public: // New functions + /** + * LinearOrderByOrderNum. Static function to compare two channel objects + * based on their iOrder member variable. If first and second channels + * both have iOrder == KMaxTUint32 (deactivated) then they are compared by their + * name. + * @param aFirst First channel object + * @param aSecond Second channel object + * @return Positive integer if first channel's order number is greater + * than second one', zero if order numbers are equal, negative value if + * first channel's order is less than second one's. If either channel's + * iOrder is KMaxTUint32 or zero, the logic is inverse. If both orders are + * deactivated (KMaxTUint32) then the comparison is made using channel name. + */ + static TInt LinearOrderByOrderNum( const CIptvEpgChannel& aFirst, + const CIptvEpgChannel& aSecond ); + + private: + /** + * Default constructor + */ + CIptvEpgChannel(); + + /** + * Symbian second phase constructor which might contain leaving code + */ + void ConstructL(); + + public: + // Setters + + IMPORT_C void SetChannelId( TInt64 aChannelId ); + + IMPORT_C void SetServiceId( TUint32 aServiceId ); + + IMPORT_C void SetChannelName( HBufC* aChannelName ); + + IMPORT_C void SetChannelLogoPath( HBufC* aLogoPath ); + + IMPORT_C void SetChannelDescription( HBufC* aDescription ); + + IMPORT_C void SetChannelURI( HBufC* aURI ); + + IMPORT_C void SetChannelSDP( HBufC* aSDP ); + + IMPORT_C void SetChannelOrder( const TUint32 aOrder ); + + IMPORT_C void SetChannelIconL( const CFbsBitmap& aBitmap ); + + // Getters + + IMPORT_C TUint32 ServiceId() const; + + IMPORT_C TInt64 ChannelId() const; + + IMPORT_C TDesC& ChannelName() const; + + IMPORT_C TDesC& ChannelLogoPath() const; + + IMPORT_C TDesC& ChannelDescription() const; + + IMPORT_C TDesC& ChannelURI() const; + + IMPORT_C TDesC& ChannelSDP() const; + + IMPORT_C TUint32 ChannelOrder() const; + + IMPORT_C CFbsBitmap* ChannelIcon(); + + // Instance variables + private: + TUint32 iOrder; + + /** Id of the channel */ + TInt64 iChannelId; + + /** Id of the service provider */ + TUint32 iServiceProviderId; + + /** Descriptor containing channel's name */ + HBufC* iChannelName; + + /** Descriptor containing the logo path */ + HBufC* iLogoPath; + + /** Descriptor containing the channel description */ + HBufC* iDescription; + + /** Descriptor containing the URI of the channel */ + HBufC* iURI; + + /** Descriptor containing the SDP of the channel + Note, that this descriptor can be quite long */ + HBufC* iSDP; + + /** Channel icon bitmap, set and used in the UI side */ + CFbsBitmap* iBitmap; + }; + +#endif // __CIPTVEPGCHANNEL_H__ + +// End of file