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