messagingfw/biomsgfw/BIFUINC/bifbase.h
changeset 0 8e480a14352b
equal deleted inserted replaced
-1:000000000000 0:8e480a14352b
       
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // bifbase.h
       
    15 //
       
    16 /**
       
    17  * @file 
       
    18  * Base classes for BIO-message Information File (BIF)
       
    19  *
       
    20  * @internalTechnology
       
    21  * @released
       
    22  */
       
    23 
       
    24 #ifndef __BIFBASE_H__
       
    25 #define __BIFBASE_H__
       
    26 
       
    27 #include <e32base.h>
       
    28 #include <s32std.h>				// for TSwizzle
       
    29 #include <apmrec.h>				// for TRecognitionConfidence
       
    30 
       
    31 // Constants
       
    32 /** 
       
    33  * Indicates that when opening the message no application should be launched.
       
    34  *
       
    35  * @internalTechnology
       
    36  * @released
       
    37  */
       
    38 const TUid KUidBioUseNoApp={0x00000000};			
       
    39 /** 
       
    40  * Indicates that when opened the message is to be viewed by the default application.
       
    41  *
       
    42  * @internalTechnology
       
    43  * @released
       
    44  */
       
    45 const TUid KUidBioUseDefaultApp={0x100052b2};
       
    46 
       
    47 /** Base classes for BIO-message Information File (BIF) Reader
       
    48 
       
    49 @internalTechnology
       
    50 @released
       
    51 */
       
    52 class CBioInfoFile : public CBase
       
    53 	{
       
    54 public:
       
    55 	~CBioInfoFile();
       
    56 
       
    57 protected:
       
    58 	CBioInfoFile(RFs& aFs);
       
    59 	void ConstructL();
       
    60 
       
    61 protected:
       
    62 	class CIdHeader : public CBase
       
    63 		{
       
    64 	public:
       
    65 		CIdHeader();
       
    66 		~CIdHeader();
       
    67 
       
    68 		void InternalizeL(RReadStream& aStream);			
       
    69 		void ExternalizeL(RWriteStream& aStream) const;		
       
    70 
       
    71 	public:
       
    72 		TBioMsgIdType iType;
       
    73 		CApaDataRecognizerType::TRecognitionConfidence iConfidence;
       
    74 		TSwizzle<HBufC> iText;
       
    75 		TUint16 iPort;
       
    76 		TUid iCharacterSet;
       
    77 		TInt16 iGeneralIdData;
       
    78 		};
       
    79 
       
    80 	class TIconZoomLevel
       
    81 		{
       
    82 	public:
       
    83 		void InternalizeL(RReadStream& aStream);			
       
    84 		void ExternalizeL(RWriteStream& aStream) const;		
       
    85 
       
    86 	public:
       
    87 		TInt16 iZoomLevel;
       
    88 		};
       
    89 
       
    90 protected:
       
    91 	RFs& iFs;
       
    92 
       
    93 	//
       
    94 	// Simple data to be read/write to/from BIF file
       
    95 	TUid iMessageTypeUid;
       
    96 
       
    97 	HBufC* iMessageParserName;
       
    98 	
       
    99 	TUid iMessageAppUid;
       
   100 	HBufC* iMessageAppCtrlName;	
       
   101 	HBufC* iDescription;
       
   102 	TInt16 iGeneralData1;
       
   103 	TInt16 iGeneralData2;
       
   104 	TInt16 iGeneralData3;
       
   105 	HBufC* iFileExtension;
       
   106 	HBufC* iIconsFilename;
       
   107 		
       
   108 	//
       
   109 	// Complex data to be read/write to/from BIF file
       
   110 	CArrayPtrFlat<CIdHeader>* iIdHeaderArray;
       
   111 	CArrayFix<TIconZoomLevel>* iIconZoomLevelArray;
       
   112 	};
       
   113 
       
   114 #endif	// __BIFBASE_H__