smsprotocols/smsstack/gsmu/inc/Gsmuelem.inl
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/smsprotocols/smsstack/gsmu/inc/Gsmuelem.inl	Mon May 03 13:37:20 2010 +0300
+++ b/smsprotocols/smsstack/gsmu/inc/Gsmuelem.inl	Thu May 06 15:10:38 2010 +0100
@@ -1,564 +1,564 @@
-// 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 "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:
-// Inline methods for operations on PDU elements
-// 
-//
-
-/**
- @file
-*/
-
-#include <s32strm.h>
-#include <badesca.h>
-
-
-/**
- *  Leaves with KErrGsmuDecoding.
- */
-inline void TGsmuLex8::LeaveL() const
-	{
-	User::Leave(KErrGsmuDecoding);
-	}
-
-
-/**
- *  Constructor, initialising the octet value with a TInt8.
- *  
- *  @param aValue Octet value 
- */
-inline TSmsOctet::TSmsOctet(TUint8 aValue)
-: iValue(aValue)
-	{
-	// NOP
-	}
-
-
-/**
- *  Constructor, initialising the octet value with a TInt.
- *  
- *  @param aValue Octet value 
- */
-inline TSmsOctet::TSmsOctet(TInt aValue)
-	:iValue(static_cast<TUint8>(aValue))
-	{
-	}
-
-
-/**
- *  Sets the octet value to the next byte in TGsmuLex8 PDU.
- *  
- *  @param aPdu PDU to read value from 
- */
-inline void TSmsOctet::DecodeL(TGsmuLex8& aPdu)
-	{
-	iValue=aPdu.GetL();
-	}
-
-
-/**
- *  @return The octet value
- */
-inline TSmsOctet::operator TInt() const
-	{
-	return iValue;
-	}
-
-
-/**
- *  Converts an integer to semi-octet format and set the object's data to this
- *  value.
- *  
- *  @param aNum Value to convert to semi-octet 
- */
-inline void TSmsOctet::FillSemiOctets(TInt aNum)
-	{
-	*this=(aNum/10)|((aNum%10)<<4);
-	}
-
-
-/**
- *  Converts a semi-octet value to an integer.
- *  
- *  @return Object's data as an integer 
- */
-inline TInt TSmsOctet::SemiOctetsToNum() const
-	{
-	return ((iValue&0x0F)*10) + ((iValue&0xF0)>>4);
-	}
-
-
-/**
- *  Internalises the object.
- *  
- *  @param aStream Stream to read from 
- */
-inline void TSmsOctet::InternalizeL(RReadStream& aStream)
-	{
-	aStream >> iValue;
-	}
-
-
-/**
- *  Externalises the object.
- *  
- *  @param aStream Stream to write to 
- */
-inline void TSmsOctet::ExternalizeL(RWriteStream& aStream) const
-	{
-	aStream << iValue;
-	}
-
-
-/**
- *  Gets the error code.
- *  
- *  @return Error code 
- */
-inline TInt TSmsFailureCause::Error() const
-	{
-	return iValue;
-	}
-
-
-/**
- *  Sets the error code.
- *  
- *  @param aError Error code 
- */
-inline void TSmsFailureCause::SetError(TSmsFailureCauseError aError)
-	{
-	iValue=(TUint8) aError;
-	}
-
-
-/**
- *  Gets status value.
- *  
- *  @return Status value 
- */
-TSmsStatus::TSmsStatusValue TSmsStatus::Status() const
-	{
-	return (TSmsStatusValue) iValue;
-	}
-
-
-/**
- *  Sets status value.
- *  
- *  @param aValue Status value 
- */
-inline void TSmsStatus::SetStatus(TSmsStatusValue aValue)
-	{
-	iValue=(TUint8) aValue;
-	}
-
-
-/**
- *  Gets command type.
- *  
- *  @return Command type 
- */
-inline TInt TSmsCommandType::CommandType() const
-	{
-	return iValue;
-	}
-
-
-/**
- *  Sets command type.
- *  
- *  @param aType Command type 
- */
-inline void TSmsCommandType::SetCommandType(TSmsCommandTypeValue aType)
-	{
-	iValue=(TUint8) aType;
-	}
-
-
-/**
- *  Tests if the extension flag is set.
- *  
- *  @return True if data contains a PID extension 
- */
-inline TBool TSmsParameterIndicator::Extension() const
-	{
-	return iValue&ESmsPIDExtension;
-	}
-
-
-/**
- *  Sets extension flag.
- *  
- *  @param aExtension Extension flag 
- */
-inline void TSmsParameterIndicator::SetExtension(TBool aExtension)
-	{
-	iValue=(TUint8) (aExtension? iValue|ESmsPIDExtension: (iValue&(~ESmsPIDExtension)));
-	}
-
-
-/**
- *  Tests user data present flag.
- *  
- *  @return True if User Data is indicated 
- */
-inline TBool TSmsParameterIndicator::UserDataPresent() const
-	{
-	return iValue&ESmsPIDUserDataPresent;
-	}
-
-
-/**
- *  Sets user data present flag.
- *  
- *  @param aPresent Set to True/False to indicate/clear User Data 
- */
-inline void TSmsParameterIndicator::SetUserDataPresent(TBool aPresent)
-	{
-	iValue=(TUint8) (aPresent? iValue|ESmsPIDUserDataPresent: iValue&(~ESmsPIDUserDataPresent));
-	}
-
-
-/**
- *  Tests data coding scheme present flag.
- *  
- *  @return True to indicate Data Coding Scheme present 
- */
-inline TBool TSmsParameterIndicator::DataCodingSchemePresent() const
-	{
-	return iValue&ESmsPIDDataCodingSchemePresent;
-	}
-
-
-/**
- *  Sets data coding scheme present flag.
- *  
- *  @param aPresent Set to True/False to indicate/clear Data Coding Scheme present 
- */
-inline void TSmsParameterIndicator::SetDataCodingSchemePresent(TBool aPresent)
-	{
-	iValue=(TUint8) (aPresent? iValue|ESmsPIDDataCodingSchemePresent: iValue&(~ESmsPIDDataCodingSchemePresent));
-	}
-
-
-/**
- *  Tests protocol identifier present flag.
- *  
- *  @return True to indicate Protocol ID present 
- */
-inline TBool TSmsParameterIndicator::ProtocolIdentifierPresent() const
-	{
-	return iValue&ESmsPIDProtocolIdentifierPresent;
-	}
-
-
-/**
- *  Sets protocol identifier present flag.
- *  
- *  @param aPresent PSet to True/False to indicate/clear Protocol ID present 
- */
-inline void TSmsParameterIndicator::SetProtocolIdentifierPresent(TBool aPresent)
-	{
-	iValue=(TUint8) (aPresent? iValue|ESmsPIDProtocolIdentifierPresent: iValue&(~ESmsPIDProtocolIdentifierPresent));
-	}
-
-
-/**
- *  Gets the Protocol ID type.
- *  
- *  @return Protocol ID type 
- */
-inline TSmsProtocolIdentifier::TSmsPIDType TSmsProtocolIdentifier::PIDType() const
-	{
-	return (TSmsPIDType) (iValue&ESmsPIDTypeMask);
-	}
-
-
-/**
- *  Sets the Protocol ID type.
- *  
- *  @param aSmsPIDType Protocol ID type 
- */
-inline void TSmsProtocolIdentifier::SetPIDType(TSmsPIDType aSmsPIDType)
-	{
-	iValue=(TUint8) aSmsPIDType;
-	}
-
-
-/**
- *  Gets bits 7 - 4 of the Data Coding Scheme.
- *  
- *  @return Bits 7 - 4 of the Data Coding Scheme 
- */
-inline TSmsDataCodingScheme::TSmsDCSBits7To4 TSmsDataCodingScheme::Bits7To4() const
-	{
-	return (TSmsDCSBits7To4) (iValue&ESmsDCSBits7To4Mask);
-	}
-
-
-/**
- *  Sets bits 7 - 4 of the Data Coding Scheme.
- *  
- *  @param aBits7To4 Bits 7 - 4 of the Data Coding Scheme 
- */
-inline void TSmsDataCodingScheme::SetBits7To4(TSmsDCSBits7To4 aBits7To4)
-	{
-	iValue=(TUint8) (aBits7To4);
-	}
-
-
-/**
- *  Constructor, specifying an octet value.
- *  
- *  @param aValue Octet value 
- */
-inline TGsmSmsTypeOfAddress::TGsmSmsTypeOfAddress(TInt aValue)
-: TSmsOctet(aValue)
-	{
-	}
-
-
-/**
- *  Constructor, specifying type of numbering and numbering plan identification.
- *  
- *  @param aTon Type of numbering
- *  @param aNPI Numbering plan identification 
- */
-inline TGsmSmsTypeOfAddress::TGsmSmsTypeOfAddress(TGsmSmsTypeOfNumber aTon, TGsmSmsNumberingPlanIdentification aNPI)
-: TSmsOctet(EGsmSmsFirstBitMask)
-	{
-	SetTON(aTon);
-	SetNPI(aNPI);
-	}
-
-
-/**
- *  Gets the type of numbering.
- *  
- *  @return Type of numbering 
- */
-inline TGsmSmsTypeOfNumber TGsmSmsTypeOfAddress::TON() const
-	{
-	return (TGsmSmsTypeOfNumber) (iValue & EGsmSmsTONMask);
-	}
-
-
-/**
- *  Sets the type of numbering.
- *  
- *  @param aTON Type of numbering 
- */
-inline void TGsmSmsTypeOfAddress::SetTON(TGsmSmsTypeOfNumber aTON)
-	{
-	iValue = (TUint8) ((iValue & (~EGsmSmsTONMask)) | aTON);
-	}
-
-
-/**
- *  Gets the numbering plan identification.
- *  
- *  @return Numbering plan identification 
- */
-inline TGsmSmsNumberingPlanIdentification TGsmSmsTypeOfAddress::NPI() const
-	{
-	return (TGsmSmsNumberingPlanIdentification) (iValue & EGsmSmsNPIMask);
-	}
-
-
-/**
- *  Set the Numbering Plan Identification 
- */
-inline void TGsmSmsTypeOfAddress::SetNPI(TGsmSmsNumberingPlanIdentification aNumberingPlanIdentification)
-	{
-	iValue = (TUint8) ((iValue &(~EGsmSmsNPIMask)) | aNumberingPlanIdentification);
-	}
-
-
-/**
- *  Constructor
- */
-inline TGsmSmsTelNumber::TGsmSmsTelNumber()
-	{
-	}
-
-
-/**
- *  Gets the time zone offset from GMT in +/- quarter hours.
- *  The allowed range is +/-79 per 23.040 V4.4.0 9.2.3.11.
- *  
- *  @return Time zone offset 
- */
-inline TInt TSmsServiceCenterTimeStamp::TimeOffset() const
-	{
-	return iTimeZoneNumQuarterHours;
-	}
-
-
-/**
- *  Gets the Service Center Time in Universal Time.
- *  
- *  @return The Service Center Time 
- */
-inline const TTime& TSmsServiceCenterTimeStamp::Time() const
-	{
-	return iTime;
-	}
-
-
-/**
- *  Sets the Service Center Time Stamp in Universal Time.
- *  
- *  @param aTime The Service Center Time 
- */
-inline void TSmsServiceCenterTimeStamp::SetTime(const TTime& aTime)
-	{
-	iTime=aTime;
-	}
-
-
-/**
- *  Gets the message Validity Period Format.
- *  
- *  @return The message Validity Period Format 
- */
-inline TSmsFirstOctet::TSmsValidityPeriodFormat TSmsValidityPeriod::ValidityPeriodFormat() const
-	{
-	return (TSmsFirstOctet::TSmsValidityPeriodFormat) (iFirstOctet&TSmsFirstOctet::ESmsVPFMask);
-	}
-
-
-/**
- *  Sets the message Validity Period Format.
- *  
- *  @param aValidityPeriodFormat The message Validity Period Format 
- */
-inline void TSmsValidityPeriod::SetValidityPeriodFormat(TSmsFirstOctet::TSmsValidityPeriodFormat aValidityPeriodFormat)
-	{
-	iFirstOctet=(iFirstOctet&(~TSmsFirstOctet::ESmsVPFMask)|aValidityPeriodFormat);
-	}
-
-
-/**
- *  Gets the message Validity Period in minutes.
- *  
- *  @return The message Validity Period in minutes 
- */
-inline const TTimeIntervalMinutes& TSmsValidityPeriod::TimeIntervalMinutes() const
-	{
-	return iTimeIntervalMinutes;
-	}
-
-
-/**
- *  Sets the message Validity Period in minutes.
- *  
- *  @param aTimeIntervalMinutes The message Validity Period in minutes 
- */
-inline void TSmsValidityPeriod::SetTimeIntervalMinutes(const TTimeIntervalMinutes& aTimeIntervalMinutes)
-	{
-	iTimeIntervalMinutes=aTimeIntervalMinutes;
-	}
-
-
-/**
- *  Resets the unconverted native character buffer.
- */
-inline void CSmsAlphabetConverter::ResetUnconvertedNativeCharacters()
-	{
-	iUnconvertedNativeCharactersPtr.Zero();
-	}
-
-
-/**
- *  Resets the unconverted user data elements buffer.
- */
-inline void CSmsAlphabetConverter::ResetUnconvertedUDElements()
-	{
-	iUnconvertedUDElementsPtr.Zero();
-	}
-
-
-/**
- *  Gets the unconverted native characters.
- *  
- *  @return Unconverted native characters 
- */
-inline TPtrC CSmsAlphabetConverter::UnconvertedNativeCharacters()
-	{
-	return iUnconvertedNativeCharactersPtr;
-	}
-
-
-/**
- *  Gets the unconverted user data elements.
- *  
- *  @return Unconverted user data elements 
- */
-inline TPtrC8 CSmsAlphabetConverter::UnconvertedUDElements()
-	{
-	return iUnconvertedUDElementsPtr;
-	}
-
-
-/**
- *  Gets the coding scheme alphabet.
- *  
- *  @return Coding scheme alphabet 
- */
-inline TSmsDataCodingScheme::TSmsAlphabet CSmsAlphabetConverter::Alphabet() const
-	{
-	return iSmsAlphabet;
-	}
-
-
-/**
- *  @publishedAll
- *  @released
- */
-inline CSmsInformationElement::CSmsInformationElement(TSmsInformationElementIdentifier aInformationElementIdentifier):iIdentifier(aInformationElementIdentifier)
-	{
-	}
-
-
-/**
- *  Gets the number of information elements.
- *  
- *  @return Number of information elements 
- */
-inline TInt CSmsUserData::NumInformationElements() const
-	{
-	return iInformationElementArray.Count();
-	}
-
-
-/**
- *  @return The number of Command Information Elements
- *  @publishedAll
- *  @released
- */
-inline TInt CSmsCommandData::NumInformationElements() const
-	{
-	return iInformationElementArray.Count();
-	}
-
-
-/**
- *  @return The amount of space in the Command buffer
- *  @publishedAll
- *  @released
- */
-inline TInt CSmsCommandData::MaxDataLength() const
-	{
-	return KSmsMaxDataSize-iBuffer->Des().Length();
-	}
+// 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 "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:
+// Inline methods for operations on PDU elements
+// 
+//
+
+/**
+ @file
+*/
+
+#include <s32strm.h>
+#include <badesca.h>
+
+
+/**
+ *  Leaves with KErrGsmuDecoding.
+ */
+inline void TGsmuLex8::LeaveL() const
+	{
+	User::Leave(KErrGsmuDecoding);
+	}
+
+
+/**
+ *  Constructor, initialising the octet value with a TInt8.
+ *  
+ *  @param aValue Octet value 
+ */
+inline TSmsOctet::TSmsOctet(TUint8 aValue)
+: iValue(aValue)
+	{
+	// NOP
+	}
+
+
+/**
+ *  Constructor, initialising the octet value with a TInt.
+ *  
+ *  @param aValue Octet value 
+ */
+inline TSmsOctet::TSmsOctet(TInt aValue)
+	:iValue(static_cast<TUint8>(aValue))
+	{
+	}
+
+
+/**
+ *  Sets the octet value to the next byte in TGsmuLex8 PDU.
+ *  
+ *  @param aPdu PDU to read value from 
+ */
+inline void TSmsOctet::DecodeL(TGsmuLex8& aPdu)
+	{
+	iValue=aPdu.GetL();
+	}
+
+
+/**
+ *  @return The octet value
+ */
+inline TSmsOctet::operator TInt() const
+	{
+	return iValue;
+	}
+
+
+/**
+ *  Converts an integer to semi-octet format and set the object's data to this
+ *  value.
+ *  
+ *  @param aNum Value to convert to semi-octet 
+ */
+inline void TSmsOctet::FillSemiOctets(TInt aNum)
+	{
+	*this=(aNum/10)|((aNum%10)<<4);
+	}
+
+
+/**
+ *  Converts a semi-octet value to an integer.
+ *  
+ *  @return Object's data as an integer 
+ */
+inline TInt TSmsOctet::SemiOctetsToNum() const
+	{
+	return ((iValue&0x0F)*10) + ((iValue&0xF0)>>4);
+	}
+
+
+/**
+ *  Internalises the object.
+ *  
+ *  @param aStream Stream to read from 
+ */
+inline void TSmsOctet::InternalizeL(RReadStream& aStream)
+	{
+	aStream >> iValue;
+	}
+
+
+/**
+ *  Externalises the object.
+ *  
+ *  @param aStream Stream to write to 
+ */
+inline void TSmsOctet::ExternalizeL(RWriteStream& aStream) const
+	{
+	aStream << iValue;
+	}
+
+
+/**
+ *  Gets the error code.
+ *  
+ *  @return Error code 
+ */
+inline TInt TSmsFailureCause::Error() const
+	{
+	return iValue;
+	}
+
+
+/**
+ *  Sets the error code.
+ *  
+ *  @param aError Error code 
+ */
+inline void TSmsFailureCause::SetError(TSmsFailureCauseError aError)
+	{
+	iValue=(TUint8) aError;
+	}
+
+
+/**
+ *  Gets status value.
+ *  
+ *  @return Status value 
+ */
+TSmsStatus::TSmsStatusValue TSmsStatus::Status() const
+	{
+	return (TSmsStatusValue) iValue;
+	}
+
+
+/**
+ *  Sets status value.
+ *  
+ *  @param aValue Status value 
+ */
+inline void TSmsStatus::SetStatus(TSmsStatusValue aValue)
+	{
+	iValue=(TUint8) aValue;
+	}
+
+
+/**
+ *  Gets command type.
+ *  
+ *  @return Command type 
+ */
+inline TInt TSmsCommandType::CommandType() const
+	{
+	return iValue;
+	}
+
+
+/**
+ *  Sets command type.
+ *  
+ *  @param aType Command type 
+ */
+inline void TSmsCommandType::SetCommandType(TSmsCommandTypeValue aType)
+	{
+	iValue=(TUint8) aType;
+	}
+
+
+/**
+ *  Tests if the extension flag is set.
+ *  
+ *  @return True if data contains a PID extension 
+ */
+inline TBool TSmsParameterIndicator::Extension() const
+	{
+	return iValue&ESmsPIDExtension;
+	}
+
+
+/**
+ *  Sets extension flag.
+ *  
+ *  @param aExtension Extension flag 
+ */
+inline void TSmsParameterIndicator::SetExtension(TBool aExtension)
+	{
+	iValue=(TUint8) (aExtension? iValue|ESmsPIDExtension: (iValue&(~ESmsPIDExtension)));
+	}
+
+
+/**
+ *  Tests user data present flag.
+ *  
+ *  @return True if User Data is indicated 
+ */
+inline TBool TSmsParameterIndicator::UserDataPresent() const
+	{
+	return iValue&ESmsPIDUserDataPresent;
+	}
+
+
+/**
+ *  Sets user data present flag.
+ *  
+ *  @param aPresent Set to True/False to indicate/clear User Data 
+ */
+inline void TSmsParameterIndicator::SetUserDataPresent(TBool aPresent)
+	{
+	iValue=(TUint8) (aPresent? iValue|ESmsPIDUserDataPresent: iValue&(~ESmsPIDUserDataPresent));
+	}
+
+
+/**
+ *  Tests data coding scheme present flag.
+ *  
+ *  @return True to indicate Data Coding Scheme present 
+ */
+inline TBool TSmsParameterIndicator::DataCodingSchemePresent() const
+	{
+	return iValue&ESmsPIDDataCodingSchemePresent;
+	}
+
+
+/**
+ *  Sets data coding scheme present flag.
+ *  
+ *  @param aPresent Set to True/False to indicate/clear Data Coding Scheme present 
+ */
+inline void TSmsParameterIndicator::SetDataCodingSchemePresent(TBool aPresent)
+	{
+	iValue=(TUint8) (aPresent? iValue|ESmsPIDDataCodingSchemePresent: iValue&(~ESmsPIDDataCodingSchemePresent));
+	}
+
+
+/**
+ *  Tests protocol identifier present flag.
+ *  
+ *  @return True to indicate Protocol ID present 
+ */
+inline TBool TSmsParameterIndicator::ProtocolIdentifierPresent() const
+	{
+	return iValue&ESmsPIDProtocolIdentifierPresent;
+	}
+
+
+/**
+ *  Sets protocol identifier present flag.
+ *  
+ *  @param aPresent PSet to True/False to indicate/clear Protocol ID present 
+ */
+inline void TSmsParameterIndicator::SetProtocolIdentifierPresent(TBool aPresent)
+	{
+	iValue=(TUint8) (aPresent? iValue|ESmsPIDProtocolIdentifierPresent: iValue&(~ESmsPIDProtocolIdentifierPresent));
+	}
+
+
+/**
+ *  Gets the Protocol ID type.
+ *  
+ *  @return Protocol ID type 
+ */
+inline TSmsProtocolIdentifier::TSmsPIDType TSmsProtocolIdentifier::PIDType() const
+	{
+	return (TSmsPIDType) (iValue&ESmsPIDTypeMask);
+	}
+
+
+/**
+ *  Sets the Protocol ID type.
+ *  
+ *  @param aSmsPIDType Protocol ID type 
+ */
+inline void TSmsProtocolIdentifier::SetPIDType(TSmsPIDType aSmsPIDType)
+	{
+	iValue=(TUint8) aSmsPIDType;
+	}
+
+
+/**
+ *  Gets bits 7 - 4 of the Data Coding Scheme.
+ *  
+ *  @return Bits 7 - 4 of the Data Coding Scheme 
+ */
+inline TSmsDataCodingScheme::TSmsDCSBits7To4 TSmsDataCodingScheme::Bits7To4() const
+	{
+	return (TSmsDCSBits7To4) (iValue&ESmsDCSBits7To4Mask);
+	}
+
+
+/**
+ *  Sets bits 7 - 4 of the Data Coding Scheme.
+ *  
+ *  @param aBits7To4 Bits 7 - 4 of the Data Coding Scheme 
+ */
+inline void TSmsDataCodingScheme::SetBits7To4(TSmsDCSBits7To4 aBits7To4)
+	{
+	iValue=(TUint8) (aBits7To4);
+	}
+
+
+/**
+ *  Constructor, specifying an octet value.
+ *  
+ *  @param aValue Octet value 
+ */
+inline TGsmSmsTypeOfAddress::TGsmSmsTypeOfAddress(TInt aValue)
+: TSmsOctet(aValue)
+	{
+	}
+
+
+/**
+ *  Constructor, specifying type of numbering and numbering plan identification.
+ *  
+ *  @param aTon Type of numbering
+ *  @param aNPI Numbering plan identification 
+ */
+inline TGsmSmsTypeOfAddress::TGsmSmsTypeOfAddress(TGsmSmsTypeOfNumber aTon, TGsmSmsNumberingPlanIdentification aNPI)
+: TSmsOctet(EGsmSmsFirstBitMask)
+	{
+	SetTON(aTon);
+	SetNPI(aNPI);
+	}
+
+
+/**
+ *  Gets the type of numbering.
+ *  
+ *  @return Type of numbering 
+ */
+inline TGsmSmsTypeOfNumber TGsmSmsTypeOfAddress::TON() const
+	{
+	return (TGsmSmsTypeOfNumber) (iValue & EGsmSmsTONMask);
+	}
+
+
+/**
+ *  Sets the type of numbering.
+ *  
+ *  @param aTON Type of numbering 
+ */
+inline void TGsmSmsTypeOfAddress::SetTON(TGsmSmsTypeOfNumber aTON)
+	{
+	iValue = (TUint8) ((iValue & (~EGsmSmsTONMask)) | aTON);
+	}
+
+
+/**
+ *  Gets the numbering plan identification.
+ *  
+ *  @return Numbering plan identification 
+ */
+inline TGsmSmsNumberingPlanIdentification TGsmSmsTypeOfAddress::NPI() const
+	{
+	return (TGsmSmsNumberingPlanIdentification) (iValue & EGsmSmsNPIMask);
+	}
+
+
+/**
+ *  Set the Numbering Plan Identification 
+ */
+inline void TGsmSmsTypeOfAddress::SetNPI(TGsmSmsNumberingPlanIdentification aNumberingPlanIdentification)
+	{
+	iValue = (TUint8) ((iValue &(~EGsmSmsNPIMask)) | aNumberingPlanIdentification);
+	}
+
+
+/**
+ *  Constructor
+ */
+inline TGsmSmsTelNumber::TGsmSmsTelNumber()
+	{
+	}
+
+
+/**
+ *  Gets the time zone offset from GMT in +/- quarter hours.
+ *  The allowed range is +/-79 per 23.040 V4.4.0 9.2.3.11.
+ *  
+ *  @return Time zone offset 
+ */
+inline TInt TSmsServiceCenterTimeStamp::TimeOffset() const
+	{
+	return iTimeZoneNumQuarterHours;
+	}
+
+
+/**
+ *  Gets the Service Center Time in Universal Time.
+ *  
+ *  @return The Service Center Time 
+ */
+inline const TTime& TSmsServiceCenterTimeStamp::Time() const
+	{
+	return iTime;
+	}
+
+
+/**
+ *  Sets the Service Center Time Stamp in Universal Time.
+ *  
+ *  @param aTime The Service Center Time 
+ */
+inline void TSmsServiceCenterTimeStamp::SetTime(const TTime& aTime)
+	{
+	iTime=aTime;
+	}
+
+
+/**
+ *  Gets the message Validity Period Format.
+ *  
+ *  @return The message Validity Period Format 
+ */
+inline TSmsFirstOctet::TSmsValidityPeriodFormat TSmsValidityPeriod::ValidityPeriodFormat() const
+	{
+	return (TSmsFirstOctet::TSmsValidityPeriodFormat) (iFirstOctet&TSmsFirstOctet::ESmsVPFMask);
+	}
+
+
+/**
+ *  Sets the message Validity Period Format.
+ *  
+ *  @param aValidityPeriodFormat The message Validity Period Format 
+ */
+inline void TSmsValidityPeriod::SetValidityPeriodFormat(TSmsFirstOctet::TSmsValidityPeriodFormat aValidityPeriodFormat)
+	{
+	iFirstOctet=(iFirstOctet&(~TSmsFirstOctet::ESmsVPFMask)|aValidityPeriodFormat);
+	}
+
+
+/**
+ *  Gets the message Validity Period in minutes.
+ *  
+ *  @return The message Validity Period in minutes 
+ */
+inline const TTimeIntervalMinutes& TSmsValidityPeriod::TimeIntervalMinutes() const
+	{
+	return iTimeIntervalMinutes;
+	}
+
+
+/**
+ *  Sets the message Validity Period in minutes.
+ *  
+ *  @param aTimeIntervalMinutes The message Validity Period in minutes 
+ */
+inline void TSmsValidityPeriod::SetTimeIntervalMinutes(const TTimeIntervalMinutes& aTimeIntervalMinutes)
+	{
+	iTimeIntervalMinutes=aTimeIntervalMinutes;
+	}
+
+
+/**
+ *  Resets the unconverted native character buffer.
+ */
+inline void CSmsAlphabetConverter::ResetUnconvertedNativeCharacters()
+	{
+	iUnconvertedNativeCharactersPtr.Zero();
+	}
+
+
+/**
+ *  Resets the unconverted user data elements buffer.
+ */
+inline void CSmsAlphabetConverter::ResetUnconvertedUDElements()
+	{
+	iUnconvertedUDElementsPtr.Zero();
+	}
+
+
+/**
+ *  Gets the unconverted native characters.
+ *  
+ *  @return Unconverted native characters 
+ */
+inline TPtrC CSmsAlphabetConverter::UnconvertedNativeCharacters()
+	{
+	return iUnconvertedNativeCharactersPtr;
+	}
+
+
+/**
+ *  Gets the unconverted user data elements.
+ *  
+ *  @return Unconverted user data elements 
+ */
+inline TPtrC8 CSmsAlphabetConverter::UnconvertedUDElements()
+	{
+	return iUnconvertedUDElementsPtr;
+	}
+
+
+/**
+ *  Gets the coding scheme alphabet.
+ *  
+ *  @return Coding scheme alphabet 
+ */
+inline TSmsDataCodingScheme::TSmsAlphabet CSmsAlphabetConverter::Alphabet() const
+	{
+	return iSmsAlphabet;
+	}
+
+
+/**
+ *  @publishedAll
+ *  @released
+ */
+inline CSmsInformationElement::CSmsInformationElement(TSmsInformationElementIdentifier aInformationElementIdentifier):iIdentifier(aInformationElementIdentifier)
+	{
+	}
+
+
+/**
+ *  Gets the number of information elements.
+ *  
+ *  @return Number of information elements 
+ */
+inline TInt CSmsUserData::NumInformationElements() const
+	{
+	return iInformationElementArray.Count();
+	}
+
+
+/**
+ *  @return The number of Command Information Elements
+ *  @publishedAll
+ *  @released
+ */
+inline TInt CSmsCommandData::NumInformationElements() const
+	{
+	return iInformationElementArray.Count();
+	}
+
+
+/**
+ *  @return The amount of space in the Command buffer
+ *  @publishedAll
+ *  @released
+ */
+inline TInt CSmsCommandData::MaxDataLength() const
+	{
+	return KSmsMaxDataSize-iBuffer->Des().Length();
+	}