--- 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;
+ }