/** Copyright (c) 2004 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: Header file for the CCbsMessageFactory class.**/#ifndef CCBSMESSAGEFACTORY_H#define CCBSMESSAGEFACTORY_H// INCLUDES#include <e32base.h>#include <etelmm.h>#include "CCbsMessage.h"// FORWARD DECLARATIONSclass CCbsRecEtel;// CLASS DECLARATION /*** CCbsMessageFactory constructs CB messages based on a page* received through ETel.** The selection between GSM and WCDMA messages is made when* constructing the message.*/class CCbsMessageFactory : public CBase { public: // New functions /** * Constructs a new CCbsMessage based on TDes8& * (which is a descriptor) received from EPOC Telephony Server. * * @param aRecEtel CCbsRecEtel reference * @return A new instance of CCbsMessageFactory */ static CCbsMessageFactory* NewL( CCbsRecEtel& aRecEtel ); /** * Destructor */ ~CCbsMessageFactory(); /** * Creates a new message. * * @param aMessagePage Source message descriptor * @param aAttributes Message attributes * @return aMsgType Message type (GSM/WCDMA/Livecast) * @return Current instance of CCbsMessage */ CCbsMessage* CreateMessageL( const TDes8& aMessagePage, const RMobileBroadcastMessaging::TMobileBroadcastAttributesV2& aAttributes, TCbsMessageType& aMsgType ); /** * Creates a new message. * * @param aMessage Message from which to create the new msg * @return Current instance of CCbsMessage */ CCbsMessage* CreateMessageL( const CCbsMessage& aMessage ); private: /** * Default constructor */ CCbsMessageFactory( CCbsRecEtel& aRecEtel ); /** * 2nd-phase constructor */ void ConstructL(); private: // Data // Message attributes, mainly used with WCDMA RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 iAttributes; // CCbsRecEtel instance to which CB messages are passed. CCbsRecEtel& iRecEtel; };#endif // CCBSMESSAGEFACTORY_H // End of File