diff -r 9f5ae1728557 -r db3f5fa34ec7 messagingfw/biomsgfw/BIFUINC/BIF.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/biomsgfw/BIFUINC/BIF.H Wed Nov 03 22:41:46 2010 +0530 @@ -0,0 +1,168 @@ +// Copyright (c) 1997-2009 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: +// BIF.H +// +/** + * @file + * BIO information file (BIF) + * + * @publishedAll + * @released + */ +#ifndef __BIF_H__ +#define __BIF_H__ + +#include + +class CBifEntry; + +/** + * Maximum length of ID text field. + * @publishedAll + * @released + */ +const TInt KMaxBioIdText=128; + +/** Data types. + * Buffer to hold a BIF ID identifier text field. + * @publishedAll + * @released + */ +typedef TBuf TBioMsgIdText; + +/** Identifies bearers for the BIF ID type field. + * It is the C++ equivalent of the resource enum ID_TYPE. + * + * @publishedAll + * @released + */ +enum TBioMsgIdType + { + /** Unknown. + + Item will not be used in matching. */ + EBioMsgIdUnknown, + + /** MIME type. + + Specifies that a bearer that transports MIME messages (e.g. e-mail) should + match the MIME type against the ID text field. */ + EBioMsgIdIana, + + /** Narrow band (SMS). + + Specifies that the SMS bearer should match messages against the ID port field. */ + EBioMsgIdNbs, + + /** WAP WDP. + + Specifies that the WAP bearer should match messages against the ID port field. */ + EBioMsgIdWap, + + /** WAP secure WDP. + + Specifies that the WAP bearer should match messages against the ID port field. */ + EBioMsgIdWapSecure, + + /** WAP WSP. + + Specifies that the WAP bearer should match messages against the ID port field. */ + EBioMsgIdWsp, + + /** WAP secure WSP. + + Specifies that the WAP bearer should match messages against the ID port field. */ + EBioMsgIdWspSecure + }; + +/** Encapsulates an ID from a BIF (BIO_INFO_FILE). + * + * @publishedAll + * @released + */ +class TBioMsgId + { +public: + /** Identifies the bearer that should use this resource to match messages. */ + TBioMsgIdType iType; + /** Confidence level. */ + CApaDataRecognizerType::TRecognitionConfidence iConfidence; // from APMREC.H + /** Text field that can be used to match the message to this BIO type. */ + TBioMsgIdText iText; + /** Receiving port number that can be used to match the message to this BIO type. */ + TUint16 iPort; + /** Expected receiving character set of messages. */ + TUid iCharacterSet; + /** This is available for 3rd party use for BIO message type identity specific + data. */ + TInt16 iGeneralIdData; + }; + +// NOTE - this is included here cos the CBioInfoFile requires some of the enums +// defined above. +#include "bifbase.h" // for CBioInfoFile + +/** BIO information file (BIF) reader. + +Allows reading (all but the icons) from an existing BIF file. + +@publishedAll +@released +*/ +class CBioInfoFileReader : public CBioInfoFile + { +public: + // + // Construction/destruction + IMPORT_C static CBioInfoFileReader* NewLC(RFs& aFs,const TDesC& aFileName,TUid aMsgTypeUid=KNullUid); + IMPORT_C static CBioInfoFileReader* NewL(RFs& aFs,const TDesC& aFileName,TUid aMsgTypeUid=KNullUid); + IMPORT_C virtual ~CBioInfoFileReader(); + + // + // Data getters + IMPORT_C TUid MessageTypeUid() const; + IMPORT_C const TPtrC MessageParserName() const; + IMPORT_C TUid MessageAppUid() const; + IMPORT_C TUid MessageAppCtrlUid() const; + IMPORT_C const TPtrC MessageAppCtrlName() const; + IMPORT_C TInt16 GeneralData1() const; + IMPORT_C TInt16 GeneralData2() const; + IMPORT_C TInt16 GeneralData3() const; + IMPORT_C const TPtrC Description() const; + IMPORT_C const TPtrC FileExtension() const; + + IMPORT_C const TPtrC IconsFilename() const; + IMPORT_C const CArrayFixFlat* ZoomLevelsLC() const; + IMPORT_C TInt ZoomLevelsCount() const; + + IMPORT_C const CArrayFixFlat* IdsLC() const; + + IMPORT_C const CBifEntry& BifEntry() const; + +private: + CBioInfoFileReader(RFs& aFs); + void ConstructL(const TDesC& aFileName, TUid aMsgTypeUid); + +private: + void InternalizeL(RReadStream& aStream); + void LoadResourceL(TUid aMsgTypeUid); + void LoadDataL(TUid aMsgTypeUid); + TBool IsResFileL() const; + TBool IsDatFile(const TUidType& aUidType) const; + // + HBufC* iFileName; + CBifEntry* iEntry; + }; + +#endif // __BIF_H__