smsprotocols/smsstack/ems/src/EMSFormatIE.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/smsprotocols/smsstack/ems/src/EMSFormatIE.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/smsprotocols/smsstack/ems/src/EMSFormatIE.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,240 +1,240 @@
-/*
-* Copyright (c) 2009 Sony Ericsson Mobile Communications AB
-* 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:
-* Sony Ericsson Mobile Communications AB - initial contribution.
-* Nokia Corporation - additional changes.
-* 
-* Contributors:
-* 
-* Description:
-* Implements the Enhanced SMS Format Information Element.
-*
-*/
-
-
-/**
- *  @file
- *  
- *  Implements  CEmsFormatIE  class
- */
-
-#include <emsformatie.h>
-
-/**
- *  Creates a default ems format object.
- *  
- *  @return CEmsFormatIE* newly created object
- */
-EXPORT_C CEmsFormatIE* CEmsFormatIE::NewL()
-/**
- *  @capability None
- */
-	{
-	CEmsFormatIE* self = new (ELeave) CEmsFormatIE();
-	self->SetAlignment(ELangDepend);
-	return self;
-	}
-
-/**
- *  Creates an exact copy of the object.
- *  
- *  @return CEmsFormatIE* Newly created object.
- */
-EXPORT_C CEmsInformationElement* CEmsFormatIE::DuplicateL() const
-/**
- *  @capability None
- */
-	{
-	CEmsFormatIE* copy = new (ELeave) CEmsFormatIE();
-	CleanupStack::PushL(copy);
-	copy->CopyL(*this);
-	CleanupStack::Pop(copy);
-	return copy;
-	}
-
-EXPORT_C void CEmsFormatIE::SetBold(TBool aBold)
-/**
- *  @capability None
- */
-	{
-	iFormat=(TUint8)(aBold? iFormat|EBold: iFormat&(~EBold));
-	}
-
-EXPORT_C TBool CEmsFormatIE::Bold() const
-/**
- *  @capability None
- */
-	{
-	return (EBold&iFormat)?ETrue:EFalse;
-	}
-
-EXPORT_C void CEmsFormatIE::SetItalic(TBool aItalic)
-/**
- *  @capability None
- */
-	{
-	iFormat=(TUint8)(aItalic? iFormat|EItalic: iFormat&(~EItalic));
-	}
-
-EXPORT_C TBool CEmsFormatIE::Italic() const
-/**
- *  @capability None
- */
-	{
-	return (EItalic&iFormat)?ETrue:EFalse;
-	}
-
-EXPORT_C void CEmsFormatIE::SetUnderline(TBool aUnderline)
-/**
- *  @capability None
- */
-	{
-	iFormat=(TUint8)(aUnderline? iFormat|EUnderline: iFormat&(~EUnderline));
-	}
-
-EXPORT_C TBool CEmsFormatIE::Underline() const
-/**
- *  @capability None
- */
-	{
-	return (EUnderline&iFormat)?ETrue:EFalse;
-	}
-
-EXPORT_C void CEmsFormatIE::SetStrikethrough(TBool aStrikethrough)
-/**
- *  @capability None
- */
-	{
-	iFormat=(TUint8)(aStrikethrough? iFormat|EStrikethrough: iFormat&(~EStrikethrough));
-	}
-
-EXPORT_C TBool CEmsFormatIE::Strikethrough() const
-/**
- *  @capability None
- */
-	 {
-	return (EStrikethrough&iFormat)?ETrue:EFalse;
-	}
-
-EXPORT_C void CEmsFormatIE::SetAlignment(TAlignment aAlignment)
-/**
- *  @capability None
- */
-	{
-	iFormat=(TUint8)(iFormat&~EAlignmentMask);
-	iFormat=(TUint8)(iFormat|aAlignment);
-	}
-
-EXPORT_C CEmsFormatIE::TAlignment CEmsFormatIE::Alignment() const
-/**
- *  @capability None
- */
-	{
-	return (TAlignment)(EAlignmentMask&iFormat);
-	}
-
-EXPORT_C void CEmsFormatIE::SetFontSize(TFontSize aSize)
-/**
- *  @capability None
- */
-	{
-	iFormat=(TUint8)(iFormat&~EFontSizeMask);
-	iFormat=(TUint8)(iFormat|(aSize<<2));
-	}
-
-EXPORT_C CEmsFormatIE::TFontSize CEmsFormatIE::FontSize() const
-/**
- *  @capability None
- */
-	{
-	return (TFontSize)((EFontSizeMask&iFormat)>>2);
-	}
-
-
-EXPORT_C void  CEmsFormatIE::SetFormatLength(TUint aLength)
-/**
- *  @capability None
- */
-	{
-	iFormatLength = aLength;
-	}
-
-EXPORT_C TUint CEmsFormatIE::FormatLength() const
-/**
- *  @capability None
- */
-	{
-	return iFormatLength;
-	}
-
-
-CEmsFormatIE::CEmsFormatIE() :CEmsInformationElement(CSmsInformationElement::ESmsEnhancedTextFormatting),iFormat(0){iEncodedBodyLength=EEnhancedFormatSizeV4;}
-
-/**
- *  Encodes the format object into its raw format. (no IE id)
- *  
- *  @param aPtr the buffer to be used which is to contain the data
- *  @param aIsForSerialisation boolean to indicate if it is for serialisation or encoding
- */
-void CEmsFormatIE::EncodeBodyL(TPtr8 aPtr, TBool aIsForSerialisation) const
-	{
-	// This is the only information element which needs to check the
-	// aIsForSerialisation flag. If it is for PDU encoding, the
-	// length field is only 8 bits. Otherwise it is 16. (This is
-	// because format objects when inserted can extend over a PDU
-	// boundary, but are split on encoding)
-	if (aIsForSerialisation)
-		{
-		aPtr.Append(HI_BYTE(iFormatLength));
-		}
-
-	aPtr.Append(LO_BYTE(iFormatLength));
-	aPtr.Append(iFormat);
-	}
-
-/**
- *  Decodes the raw data out of an information element into this class.
- *  
- *  @param aPtr The raw predefined animation data
- *  @param aIsFromSerialisation boolean to indicate if it is from serialisation
- *  @leave KErrargument If the size of the data does not match what is expected.
- */
-void CEmsFormatIE::DecodeBodyL(const TPtrC8 aPtr, TBool aIsFromSerialisation)
-	{
-	__ASSERT_ALWAYS((aPtr.Length() >= EEnhancedFormatSizeV4), User::Leave(KErrArgument));
-
-	// index into byte array we are currently looking at
-	TInt pos = 0;
-	iFormatLength = 0;
-
-	if (aIsFromSerialisation)
-		{
-		iFormatLength = static_cast<TUint>(aPtr[pos] * 256);
-		++pos;
-		}
-	iFormatLength += static_cast<TUint>(aPtr[pos]);
-	++pos;
-	iFormat=aPtr[pos];
-	}
-
-TInt CEmsFormatIE::SerialisedBodyLength() const
-	{
-	// extra byte required for 16-bit length field when serialised
-	return iEncodedBodyLength + 1;
-	}
-
-EXPORT_C void CEmsFormatIE::CopyL(const CEmsFormatIE& aSrc)
-/**
- *  @capability None
- */
-	{
-	CEmsInformationElement::CopyL(aSrc);
-	iFormatLength = aSrc.iFormatLength;
-	iFormat=aSrc.iFormat;
-	}
+/*
+* Copyright (c) 2009 Sony Ericsson Mobile Communications AB
+* 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:
+* Sony Ericsson Mobile Communications AB - initial contribution.
+* Nokia Corporation - additional changes.
+* 
+* Contributors:
+* 
+* Description:
+* Implements the Enhanced SMS Format Information Element.
+*
+*/
+
+
+/**
+ *  @file
+ *  
+ *  Implements  CEmsFormatIE  class
+ */
+
+#include <emsformatie.h>
+
+/**
+ *  Creates a default ems format object.
+ *  
+ *  @return CEmsFormatIE* newly created object
+ */
+EXPORT_C CEmsFormatIE* CEmsFormatIE::NewL()
+/**
+ *  @capability None
+ */
+	{
+	CEmsFormatIE* self = new (ELeave) CEmsFormatIE();
+	self->SetAlignment(ELangDepend);
+	return self;
+	}
+
+/**
+ *  Creates an exact copy of the object.
+ *  
+ *  @return CEmsFormatIE* Newly created object.
+ */
+EXPORT_C CEmsInformationElement* CEmsFormatIE::DuplicateL() const
+/**
+ *  @capability None
+ */
+	{
+	CEmsFormatIE* copy = new (ELeave) CEmsFormatIE();
+	CleanupStack::PushL(copy);
+	copy->CopyL(*this);
+	CleanupStack::Pop(copy);
+	return copy;
+	}
+
+EXPORT_C void CEmsFormatIE::SetBold(TBool aBold)
+/**
+ *  @capability None
+ */
+	{
+	iFormat=(TUint8)(aBold? iFormat|EBold: iFormat&(~EBold));
+	}
+
+EXPORT_C TBool CEmsFormatIE::Bold() const
+/**
+ *  @capability None
+ */
+	{
+	return (EBold&iFormat)?ETrue:EFalse;
+	}
+
+EXPORT_C void CEmsFormatIE::SetItalic(TBool aItalic)
+/**
+ *  @capability None
+ */
+	{
+	iFormat=(TUint8)(aItalic? iFormat|EItalic: iFormat&(~EItalic));
+	}
+
+EXPORT_C TBool CEmsFormatIE::Italic() const
+/**
+ *  @capability None
+ */
+	{
+	return (EItalic&iFormat)?ETrue:EFalse;
+	}
+
+EXPORT_C void CEmsFormatIE::SetUnderline(TBool aUnderline)
+/**
+ *  @capability None
+ */
+	{
+	iFormat=(TUint8)(aUnderline? iFormat|EUnderline: iFormat&(~EUnderline));
+	}
+
+EXPORT_C TBool CEmsFormatIE::Underline() const
+/**
+ *  @capability None
+ */
+	{
+	return (EUnderline&iFormat)?ETrue:EFalse;
+	}
+
+EXPORT_C void CEmsFormatIE::SetStrikethrough(TBool aStrikethrough)
+/**
+ *  @capability None
+ */
+	{
+	iFormat=(TUint8)(aStrikethrough? iFormat|EStrikethrough: iFormat&(~EStrikethrough));
+	}
+
+EXPORT_C TBool CEmsFormatIE::Strikethrough() const
+/**
+ *  @capability None
+ */
+	 {
+	return (EStrikethrough&iFormat)?ETrue:EFalse;
+	}
+
+EXPORT_C void CEmsFormatIE::SetAlignment(TAlignment aAlignment)
+/**
+ *  @capability None
+ */
+	{
+	iFormat=(TUint8)(iFormat&~EAlignmentMask);
+	iFormat=(TUint8)(iFormat|aAlignment);
+	}
+
+EXPORT_C CEmsFormatIE::TAlignment CEmsFormatIE::Alignment() const
+/**
+ *  @capability None
+ */
+	{
+	return (TAlignment)(EAlignmentMask&iFormat);
+	}
+
+EXPORT_C void CEmsFormatIE::SetFontSize(TFontSize aSize)
+/**
+ *  @capability None
+ */
+	{
+	iFormat=(TUint8)(iFormat&~EFontSizeMask);
+	iFormat=(TUint8)(iFormat|(aSize<<2));
+	}
+
+EXPORT_C CEmsFormatIE::TFontSize CEmsFormatIE::FontSize() const
+/**
+ *  @capability None
+ */
+	{
+	return (TFontSize)((EFontSizeMask&iFormat)>>2);
+	}
+
+
+EXPORT_C void  CEmsFormatIE::SetFormatLength(TUint aLength)
+/**
+ *  @capability None
+ */
+	{
+	iFormatLength = aLength;
+	}
+
+EXPORT_C TUint CEmsFormatIE::FormatLength() const
+/**
+ *  @capability None
+ */
+	{
+	return iFormatLength;
+	}
+
+
+CEmsFormatIE::CEmsFormatIE() :CEmsInformationElement(CSmsInformationElement::ESmsEnhancedTextFormatting),iFormat(0){iEncodedBodyLength=EEnhancedFormatSizeV4;}
+
+/**
+ *  Encodes the format object into its raw format. (no IE id)
+ *  
+ *  @param aPtr the buffer to be used which is to contain the data
+ *  @param aIsForSerialisation boolean to indicate if it is for serialisation or encoding
+ */
+void CEmsFormatIE::EncodeBodyL(TPtr8 aPtr, TBool aIsForSerialisation) const
+	{
+	// This is the only information element which needs to check the
+	// aIsForSerialisation flag. If it is for PDU encoding, the
+	// length field is only 8 bits. Otherwise it is 16. (This is
+	// because format objects when inserted can extend over a PDU
+	// boundary, but are split on encoding)
+	if (aIsForSerialisation)
+		{
+		aPtr.Append(HI_BYTE(iFormatLength));
+		}
+
+	aPtr.Append(LO_BYTE(iFormatLength));
+	aPtr.Append(iFormat);
+	}
+
+/**
+ *  Decodes the raw data out of an information element into this class.
+ *  
+ *  @param aPtr The raw predefined animation data
+ *  @param aIsFromSerialisation boolean to indicate if it is from serialisation
+ *  @leave KErrargument If the size of the data does not match what is expected.
+ */
+void CEmsFormatIE::DecodeBodyL(const TPtrC8 aPtr, TBool aIsFromSerialisation)
+	{
+	__ASSERT_ALWAYS((aPtr.Length() >= EEnhancedFormatSizeV4), User::Leave(KErrArgument));
+
+	// index into byte array we are currently looking at
+	TInt pos = 0;
+	iFormatLength = 0;
+
+	if (aIsFromSerialisation)
+		{
+		iFormatLength = static_cast<TUint>(aPtr[pos] * 256);
+		++pos;
+		}
+	iFormatLength += static_cast<TUint>(aPtr[pos]);
+	++pos;
+	iFormat=aPtr[pos];
+	}
+
+TInt CEmsFormatIE::SerialisedBodyLength() const
+	{
+	// extra byte required for 16-bit length field when serialised
+	return iEncodedBodyLength + 1;
+	}
+
+EXPORT_C void CEmsFormatIE::CopyL(const CEmsFormatIE& aSrc)
+/**
+ *  @capability None
+ */
+	{
+	CEmsInformationElement::CopyL(aSrc);
+	iFormatLength = aSrc.iFormatLength;
+	iFormat=aSrc.iFormat;
+	}