epoc32/include/gsmumsg.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
--- a/epoc32/include/gsmumsg.h	Wed Mar 31 12:27:01 2010 +0100
+++ b/epoc32/include/gsmumsg.h	Wed Mar 31 12:33:34 2010 +0100
@@ -1,9 +1,9 @@
 // Copyright (c) 1999-2009 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 "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// under the terms of "Eclipse Public License v1.0"
 // which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
 //
 // Initial Contributors:
 // Nokia Corporation - initial contribution.
@@ -16,9 +16,9 @@
 //
 
 
-
 /**
  @file
+ @publishedAll
 */
 
 #ifndef __GSMUMSG_H__
@@ -34,7 +34,7 @@
 #include <emsinformationelement.h>
 
 /**
- *  @internalComponent
+ *  @publishedAll
  */
 const TUint IoctlWriteSMSBufferSize = 256;
 const TUint KMaxMobileNameSize = 32;
@@ -43,15 +43,15 @@
 class CSmsCompressedBuffer;
 class TSmsUserDataSettings;
 class CSmsEMSBufferSegmenter;
-class CGsmCompressionBase;
 class CEmsUserPrompt;
 class CEmsObjectDistribution;
 class CSmsIEOperation;
 class CSmsNonIEOperation;
+class CSmsMessageAdditionalAttributes;
 
 /**
  *  This class is used in CSmsMessage only.
- *  @internalComponent
+ *  @publishedAll
  */
 class TGsmSmsSlotEntry
 	{
@@ -65,6 +65,11 @@
 	void ExternalizeL(RWriteStream& aStream) const;
     };
 
+struct TEncodeParams
+	{
+	const TTime* iTimeStamp;
+	const TTimeIntervalSeconds* iTimeIntervalInSeconds;		
+	};
 
 /**
  *  Represents a complete SMS message.
@@ -225,7 +230,7 @@
  	IMPORT_C void InternalizeVersionL(RReadStream& aStream);
 	IMPORT_C void ExternalizeVersionL(RWriteStream& aStream) const;
 
-    void* AdditionalInfo() {return iAdditionalInfo;};
+    void* AdditionalInfo() {return (void*)iAdditionalInfo;};
     IMPORT_C CSmsIEOperation& GetOperationsForIEL(CSmsInformationElement::TSmsInformationElementIdentifier) const;
     IMPORT_C CSmsNonIEOperation& GetOperationsForNonIEL(TSmsNonIEIdentifier) const;
     
@@ -258,12 +263,15 @@
 	void InstallEmsInformationElementsL(CSmsCommand& aCommand, TInt aStartPosition);
 	void InstallControlInformationElementsL(CSmsUserData& aUserData, TInt aSegmentSequenceNum);
 	void InstallControlInformationElementsL(CSmsCommand& aCommand);
-	TBool AddEMSInformationElementsToMultiSegmentMessageL(CArrayFix<TGsmSms>& aSmsArray,CSmsEMSBufferSegmenter& aSegmenter,TUint& aCharsAdded,TBool aDoEncode,TSmsEncoding& aEncoding,RPointerArray<CEmsInformationElement>& aCorrectedFormatingIEArray,TUint& aCurEMSIEno,TUint& aBaseAddr);
+	TBool AddEMSInformationElementsToMultiSegmentMessageL(CSmsEMSBufferSegmenter& aSegmenter, TUint& aCharsAdded,
+			                                              TBool aDoEncode, TSmsEncoding& aEncoding,
+			                                              RPointerArray<CEmsInformationElement>& aCorrectedFormatingIEArray,
+			                                              TUint& aCurEMSIEno, TUint& aBaseAddr);
 	TBool AddEMSInformationElementsToSingleSegmentMessageL(CSmsEMSBufferSegmenter& aSegmenter,
 			                                               TSmsEncoding aEncoding);
-	void AddControlInformationElementsToMultiSegmentMessageL(CArrayFix<TGsmSms>& aSmsArray);
-	void AddControlInformationElementsToMultiSegmentMessageL(TSmsInformationElementCategories::TInformationElementCategory aCategory, TBool aMandatoryInPDU, CArrayFix<TGsmSms>& aSmsArray);
-	void AddCurrentPDUToSmsArrayL(CArrayFix<TGsmSms>& aSmsArray,TBool aDoEncode);
+	void AddControlInformationElementsToMultiSegmentMessageL(TBool aDoEncode);
+	void AddControlInformationElementsToMultiSegmentMessageL(TSmsInformationElementCategories::TInformationElementCategory aCategory, TBool aMandatoryInPDU, TBool aDoEncode);
+	void AddCurrentPDUToPDUArrayL(TBool aDoEncode);
 	TBool AddIEToUserDataL(CEmsInformationElement* aIe, TInt aCharsAlreadyAdded,TUint& aCharsAddedToCurrentPDU,CSmsEMSBufferSegmenter& aSeg);
 	TInt FillPduL(CSmsEMSBufferSegmenter& aSeg, TInt aNumChars, TSmsEncoding aEncoding);
 	TInt NumMessageEmsPDUsL();
@@ -275,7 +283,7 @@
 	void AddEmsObjectDistributionL(const CEmsObjectDistribution& aObjectDistributionIE);
 	void UpdateUserPromptAndODIElementsStartPosition();
 	TInt AddReceivedEmsInformationElement(CEmsInformationElement* aIE);
-	TSmsStatusReportScheme FindScheme(const CArrayPtr<CSmsPDU>& aSmsPDUArray);
+	TSmsStatusReportScheme FindSchemeL(const CArrayPtr<CSmsPDU>& aSmsPDUArray);
 	void InstallTPSRRInformationL(const CArrayPtr<CSmsPDU>& aSmsPDUArray, TInt aSegmentSequenceNum);
 	void EncodingTPSRRFromSchemesIntoSinglePDUL();
 	void DecodeOnlyTextL(CArrayPtr<CSmsPDU>& aSmsPDUArray,CSmsBufferBase& aBuffer);
@@ -325,7 +333,7 @@
 	CCnvCharacterSetConverter* iCharacterSetConverter;
 
 public:
-	CArrayFixFlat<TGsmSmsSlotEntry> iSlotArray; ///< Array for slots
+	CArrayFixFlat<TGsmSmsSlotEntry> iSlotArray; //< Array for slots
 /**
  *  SMS versions
  */
@@ -347,19 +355,19 @@
 
 protected:
 
-/**
- *  iVersion is the version of CSmsMessage. This parameter will be
- *  used to identify what iAdditionalInfo points to for that particular
- *  version of CSmsMessage
- */
+	/**
+	 *  iVersion is the version of CSmsMessage. This parameter will be
+	 *  used to identify what iAdditionalInfo points to for that particular
+	 *  version of CSmsMessage
+	 */
 	TInt iVersion;
 
-/**
- *  iAdditionalInfo would point to any new added data structure.
- *  iVersion would identify which data structure is valid for that
- *   *  particular version of CSmsMessage 
- */
-	void* iAdditionalInfo;
+	/**
+	 *  iAdditionalInfo would point to any new added data structure.
+	 *  iVersion would identify which data structure is valid for that
+	 *   *  particular version of CSmsMessage 
+	 */
+	CSmsMessageAdditionalAttributes*  iAdditionalInfo;
 	};
 
 #include <gsmumsg.inl>