diff -r 000000000000 -r ff3b6d0fd310 cbs/CbsServer/ServerInc/CCbsMessageFactory.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cbs/CbsServer/ServerInc/CCbsMessageFactory.h Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,105 @@ +/* +* 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 +#include +#include "CCbsMessage.h" + +// FORWARD DECLARATIONS +class 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 + +