diff -r 000000000000 -r 96612d01cf9f videofeeds/livetvutils/inc/CIptvEpgProgram.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/livetvutils/inc/CIptvEpgProgram.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,293 @@ +/* +* 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 program data to* +*/ + + + + +#ifndef __CIPTVEPGPROGRAM_H__ +#define __CIPTVEPGPROGRAM_H__ + +#include +#include + +#include "IptvLiveEpgConstants.h" + +/** +* "Carrier" class to contain data for single program 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 CIptvEpgProgram : public CBase + { + public: + /** + * Symbian two phase constructor + * @param None + * @return Created instance of CLiveTvEpgProgram + */ + IMPORT_C static CIptvEpgProgram* NewL(); + + /** + * Destructor + */ + virtual ~CIptvEpgProgram(); + + public: // new methods + /** + * method for sorting by programid + */ + static TInt LinearOrderOfProgramsById( const CIptvEpgProgram &p1, + const CIptvEpgProgram &p2); + + /** + * method for sorting by program name + */ + static TInt LinearOrderOfProgramsByName( const CIptvEpgProgram &p1, + const CIptvEpgProgram &p2); + + protected: // Constructors + /** + * Default constructor + */ + CIptvEpgProgram(); + + /** + * Symbian second phase constructor which might contain leaving code + */ + void ConstructL(); + + + public: + // Setters for instance variables + // + // ALL THESE SETTER FUNCTIONS TAKES THE OWNERSHIP OF THE GIVEN HEAP + // DESCRIPTOR, SO CALLER MUST NOT DELETE HBufC POINTERS PASSED TO + // THIS CLASS + // + // + + /** + * Setter for the service id this program belongs to. + * @param aServiceId Id of the service which this program belongs + * @return None + */ + IMPORT_C void SetServiceId( TUint32 aServiceId ); + + /** + * Setter for the channel id this program belongs + * @param aChannelId Id of the channel which this program belongs + * @return None + */ + IMPORT_C void SetChannelId( TInt64 aChannelId ); + + /** + * Setter for the program id of this program object + * @param aProgramId Id of this program + * @return None + */ + IMPORT_C void SetProgramId( TInt64 aProgramId ); + + /** + * Setter for the program rtsp uri + * @param aURI Descriptor containing the rtsp address for + * this program. Ownership of given descriptor + * has been transferred to this class so it MUST NOT + * be deleted where this method is called. + * @return None + */ + IMPORT_C void SetProgramURI( HBufC* aURI ); + + /** + * Setter for the program rtsp uri + * @param aSDP Descriptor containing the SDP (Session Description + * Protocol) for this program. + * Ownership of given descriptor has been transferred + * to this class so it MUST NOT be deleted where this + * method is called. + * @return None + */ + IMPORT_C void SetProgramSDP( HBufC* aSDP ); + + /** + * Setter for the program genre + * @param aGenre Descriptor containing the genre of this program + * Ownership of given descriptor has been transferred + * to this class so it MUST NOT be deleted where this + * method is called. + * @return None + */ + IMPORT_C void SetProgramGenre( HBufC* aGenre ); + + /** + * Setter for the program name + * @param aName Descriptor containing the name of this program + * Ownership of given descriptor has been transferred + * to this class so it MUST NOT be deleted where this + * method is called. + * @return None + */ + IMPORT_C void SetProgramName( HBufC* aName ); + + /** + * Setter for the program description + * @param aName Descriptor containing the description of this program + * Ownership of given descriptor has been transferred + * to this class so it MUST NOT be deleted where this + * method is called. + * @return None + */ + IMPORT_C void SetProgramDescription( HBufC* aDescription ); + + /** + * Setter for the program language + * @param aName Descriptor containing the language of this program + * Ownership of given descriptor has been transferred + * to this class so it MUST NOT be deleted where this + * method is called. + * @return None + */ + IMPORT_C void SetProgramLanguage( HBufC* aLanguage ); + + /** + * Setter for the program parental rating + * @param aName Descriptor containing the parental rating of this + * program. + * Ownership of given descriptor has been transferred + * to this class so it MUST NOT be deleted where this + * method is called. + * @return None + */ + IMPORT_C void SetProgramParentalRating( HBufC* aParentalRating ); + + + // Getters for the instance data + + /** + * Getter for this program's service id + * @param None + * @return On return contains the id of the service which this program + * belongs. + */ + IMPORT_C TUint32 ServiceId() const; + + /** + * Getter for this program's channel id + * @param None + * @return On return contains the id of the channel which this program + * belongs. + */ + IMPORT_C TInt64 ChannelId() const; + + /** + * Getter for this program's id + * @param None + * @return On return contains the id of this program + */ + IMPORT_C TInt64 ProgramId() const; + + /** + * Getter for this program's rtsp URI + * @param None + * @return Reference to the descriptor containing the rtsp URI of this + * program. + */ + IMPORT_C TDesC& ProgramURI() const; + + /** + * Getter for this program's SDP (Session Description Protocol) + * @param None + * @return Reference to the descriptor containing the SDP of this + * program. + */ + IMPORT_C TDesC& ProgramSDP() const; + + /** + * Getter for this program's genre + * @param None + * @return Reference to the descriptor containing the genre of this + * program. + */ + IMPORT_C TDesC& ProgramGenre() const; + + /** + * Getter for this program's name + * @param None + * @return Reference to the descriptor containing the name of this + * program. + */ + IMPORT_C TDesC& ProgramName() const; + + /** + * Getter for this program's description + * @param None + * @return Reference to the descriptor containing the description of this + * program. + */ + IMPORT_C TDesC& ProgramDescription() const; + + /** + * Getter for this program's language + * @param None + * @return Reference to the descriptor containing the language of this + * program. + */ + IMPORT_C TDesC& ProgramLanguage() const; + + /** + * Getter for this program's parental rating + * @param None + * @return Reference to the descriptor containing the parental rating of + * this program. + */ + IMPORT_C TDesC& ProgramParentalRating() const; + + // Instance variables + private: + /** Id of the service where this program belongs */ + TUint32 iServiceId; + + /** Id of the channel this program belong */ + TInt64 iChannelId; + + /** Id of the program */ + TInt64 iProgramId; + + /** Descriptor containing the URI of the program */ + HBufC* iURI; + + /** Descriptor containing the SDP of the program + Note, that this descriptor can be quite long */ + HBufC* iSDP; + + /** Descriptor containing the genre of the program */ + HBufC* iGenre; + + /** Descriptor containing the name of the program */ + HBufC* iName; + + /** Descriptor containing the name of the program */ + HBufC* iDescription; + + /** Descriptor containing the language of the program */ + HBufC* iLanguage; + + /** Descriptor containing the parental rating of the program */ + HBufC* iParentalRating; + }; + +#endif //__CIPTVEPGPROGRAM_H__ + +// End of file