--- a/messagingappbase/smsmtm/clientmtm/src/SMUTSET.CPP Fri Apr 16 14:56:15 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,849 +0,0 @@
-// 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:
-//
-
-
-#include <etelmm.h>
-#include "SMCMMAIN.H"
-#include "SMUTSET.H"
-
-#include <commsdattypesv1_1.h>
-#include <commsdat.h>
-#include <txtetext.h>
-#include <csmsemailfields.h>
-#include <logwraplimits.h>
-using namespace CommsDat;
-
-
-
-// Compile time check to see if the enums RMobileSmsMessaging::TMobileSmsBearer and CSmsSettings::TMobileSmsBearer
-// are equivalent.
-
-#undef C_ASSERT
-#define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
-
-C_ASSERT(RMobileSmsMessaging::ESmsBearerPacketOnly==CSmsSettings::ESmsBearerPacketOnly);
-C_ASSERT(RMobileSmsMessaging::ESmsBearerCircuitOnly==CSmsSettings::ESmsBearerCircuitOnly);
-C_ASSERT(RMobileSmsMessaging::ESmsBearerPacketPreferred==CSmsSettings::ESmsBearerPacketPreferred);
-C_ASSERT(RMobileSmsMessaging::ESmsBearerCircuitPreferred==CSmsSettings::ESmsBearerCircuitPreferred);
-
-const TInt16 KMsgFileSmsMessageSettingsVersion = 1;
-const TInt16 KMsgFileSmsNumberVersion = 2;
-const TInt KSmcmSCAddressGranularity = 8;
-
-
-/**
-Constructor.
-*/
-CSmsMessageSettings::CSmsMessageSettings()
-: CBase(),
- iValidityPeriodFormat(TSmsFirstOctet::ESmsVPFSemiOctet)
- {
- }
-
-/**
-Internalises the settings from a read stream.
-
-@param aReadStream
-The stream from which the settings should be internalised.
-*/
-EXPORT_C void CSmsMessageSettings::InternalizeL(RReadStream& aReadStream)
- {
- aReadStream.ReadInt16L(); // version - not used yet
-
- iValidityPeriod = aReadStream.ReadInt32L();
- iValidityPeriodFormat = (TSmsFirstOctet::TSmsValidityPeriodFormat) aReadStream.ReadInt8L();
- iAlphabet = (TSmsDataCodingScheme::TSmsAlphabet) aReadStream.ReadInt16L();
- iMsgFlags = aReadStream.ReadUint32L();
- iMessageConversion = (TSmsPIDConversion) aReadStream.ReadInt16L();
- }
-
-/**
-Externalises the settings to a write stream.
-
-@param aWriteStream
-The stream to which the settings should be externalised.
-*/
-EXPORT_C void CSmsMessageSettings::ExternalizeL(RWriteStream& aWriteStream) const
- {
- aWriteStream.WriteInt16L(KMsgFileSmsMessageSettingsVersion);
- aWriteStream.WriteInt32L(iValidityPeriod.Int());
- aWriteStream.WriteInt8L(iValidityPeriodFormat);
- aWriteStream.WriteInt16L(iAlphabet);
- aWriteStream.WriteUint32L(iMsgFlags);
- aWriteStream.WriteInt16L(iMessageConversion);
- }
-
-/**
-Copies the settings stored in the specified object into this object.
-
-@param aSettings
-The settings to be copied.
-*/
-EXPORT_C void CSmsMessageSettings::CopyL(const CSmsMessageSettings& aSettings)
- {
- iMsgFlags = aSettings.iMsgFlags;
- iMessageConversion = aSettings.iMessageConversion;
- iAlphabet = aSettings.iAlphabet;
- SetValidityPeriod(aSettings.ValidityPeriod());
- SetValidityPeriodFormat(aSettings.ValidityPeriodFormat());
- }
-
-/**
-Returns SMS message settings flag
-
-@return
-SMS message settings flag
-*/
-TUint32 CSmsMessageSettings::MessageFlags() const
- {
- return iMsgFlags;
- }
-
-/**
-Sets SMS message settings flag
-
-@param aMsgFlags
-SMS message settings flag
-*/
-void CSmsMessageSettings::SetMessageFlags(TUint32 aMsgFlags)
- {
- iMsgFlags = aMsgFlags;
- }
-
-/*
- * CSmsSettings
- */
-
-/**
-Allocates and constructs an SMS settings object.
-
-Initialises all member data to their default values.
-
-@return
-The newly constructed SMS settings object.
-*/
-EXPORT_C CSmsSettings* CSmsSettings::NewL()
- {
- CSmsSettings* self = CSmsSettings::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-/**
-Allocates and constructs an SMS settings object.
-
-Initialises all member data to their default values.
-
-@return
-The newly constructed SMS settings object.
-*/
-EXPORT_C CSmsSettings* CSmsSettings::NewLC()
- {
- CSmsSettings* self = new (ELeave) CSmsSettings();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-/**
-Constructor.
-*/
-CSmsSettings::CSmsSettings()
-: CSmsMessageSettings(),
- iDefaultSC(-1),
- iStatusReportHandling(EDoNotWatchForReport),
- iSpecialMessageHandling(EDoNotWatchForReport),
- iCommDbAction(ENone),
- iSmsBearerAction(ENone),
- iSmsBearer(ESmsBearerCircuitPreferred),
- iClass2Folder(KMsvGlobalInBoxIndexEntryId),
- iDescriptionLength(KSmsDescriptionLength)
- {
- }
-
-/**
-Destructor.
-*/
-EXPORT_C CSmsSettings::~CSmsSettings()
- {
- if (iServiceCenters)
- {
- iServiceCenters->ResetAndDestroy();
- delete iServiceCenters;
- }
- }
-
-/**
-Second phase construction.
-*/
-void CSmsSettings::ConstructL()
- {
- iServiceCenters = new (ELeave) CArrayPtrFlat<CSmsServiceCenter>(KSmcmSCAddressGranularity);
- }
-
-
-void CSmsSettings::StoreToCommDbL() const
- {
- if (iCommDbAction != EStoreToCommDb && iSmsBearerAction != EStoreToCommDb)
- return; // nothing to store to the Comm DB
-
- CMDBSession *dbSession = CMDBSession::NewL(CMDBSession::LatestVersion());
- CleanupStack::PushL(dbSession);
- CMDBRecordSet<CCDGlobalSettingsRecord> globalSettingsRecord(KCDTIdGlobalSettingsRecord);
- TRAPD(err, globalSettingsRecord.LoadL(*dbSession));
- if(err != KErrNone)
- {
- User::Leave(KErrNotFound);
- }
-
- if (iCommDbAction == EStoreToCommDb)
- {
- CCDModemBearerRecord *modemRecord = (CCDModemBearerRecord*)(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
- CleanupStack::PushL(modemRecord);
- modemRecord->SetRecordId(((CCDGlobalSettingsRecord*)globalSettingsRecord.iRecords[0])->iModemForPhoneServicesAndSMS);
- modemRecord->LoadL(*dbSession);
-
- if (iDefaultSC > -1 && iServiceCenters->Count())
- {
- const TPtrC address = GetServiceCenter(iDefaultSC).Address();
- modemRecord->iMessageCentreNumber.SetMaxLengthL(address.Length());
- modemRecord->iMessageCentreNumber = address;
- }
- else
- {
- modemRecord->iMessageCentreNumber = KNullDesC;
- }
-
- const TUint32 valPeriod = (TUint32) ValidityPeriod().Int();
- modemRecord->iMessageValidityPeriod = valPeriod;
-
- const TBool delReport = DeliveryReport() ? ETrue : EFalse;
- modemRecord->iMessageDeliveryReport = delReport;
- modemRecord->ModifyL(*dbSession);
- CleanupStack::PopAndDestroy(modemRecord);
- }
-
- if (iSmsBearerAction == EStoreToCommDb)
- {
- ((CCDGlobalSettingsRecord*)globalSettingsRecord.iRecords[0])->iSMSBearer = iSmsBearer;
- ((CCDGlobalSettingsRecord*)globalSettingsRecord.iRecords[0])->iSMSBearer.ModifyL(*dbSession);
- }
-
- CleanupStack::PopAndDestroy(dbSession);
- }
-
-
-/**
-Gets the number of Service Centre addresses stored in this object.
-
-@return
-The number of addresses.
-*/
-EXPORT_C TInt CSmsSettings::ServiceCenterCount() const
- {
- return iServiceCenters->Count();
- }
-
-/**
-Gets the Service Centre address at the specified index in the list.
-
-@param aIndex
-The index of the specified address.
-
-@return
-The indexed address.
-*/
-EXPORT_C CSmsServiceCenter& CSmsSettings::GetServiceCenter(TInt aIndex) const
- {
- return *iServiceCenters->At(aIndex);
- }
-
-/**
-Appends a service centre address (name and number) to the list.
-
-@param aName
-The Service Centre name
-
-@param aNumber
-The Service Centre number.
-*/
-EXPORT_C void CSmsSettings::AddServiceCenterL(const TDesC& aName,const TDesC& aNumber)
- {
-
- CSmsServiceCenter* recipient=CSmsServiceCenter::NewL();
- CleanupStack::PushL(recipient);
- recipient->SetNameL(aName);
- recipient->SetAddressL(aNumber);
-
- iServiceCenters->AppendL(recipient);
- CleanupStack::Pop(recipient);
-
- if (iServiceCenters->Count() == 1 || iDefaultSC < 0)
- iDefaultSC = 0;
- }
-
-/**
-Removes the service centre address with index aIndex from the array of service
-centre addresses that are stored in the object.
-
-@param aIndex
-The index of the Service Centre address to remove.
-*/
-EXPORT_C void CSmsSettings::RemoveServiceCenter(TInt aIndex)
- {
- delete iServiceCenters->At(aIndex);
- iServiceCenters->Delete(aIndex);
-
- if (iDefaultSC == aIndex)
- {
- iDefaultSC = iServiceCenters->Count() ? 0 : -1;
- }
- else if (iDefaultSC > aIndex)
- {
- iDefaultSC--;
- }
- }
-
-/**
-Gets the index of the default service centre address for this service.
-
-@return
-The index of the default service centre address.
-*/
-EXPORT_C TInt CSmsSettings::DefaultServiceCenter() const
- {
- return iDefaultSC;
- }
-
-/**
-Sets the index of the default service centre address for this service.
-
-@param aDefaultSC
-An index into the list of the default service centre address.
-
-@panic SMCM 7
-The specified index is negative or beyond the maximum index (debug only).
-*/
-EXPORT_C void CSmsSettings::SetDefaultServiceCenter(TInt aDefaultSC)
- {
- __ASSERT_DEBUG(aDefaultSC>=0, Panic(ESmscDefaultSCOutOfRange));
- __ASSERT_DEBUG(aDefaultSC<iServiceCenters->Count(), Panic(ESmscDefaultSCOutOfRange));
-
- iDefaultSC=aDefaultSC;
- }
-
-void CSmsSettings::RemoveSCAddresses()
- {
- iServiceCenters->ResetAndDestroy();
- }
-
-/**
-Copies the SMS settings stored in the specified object into this object.
-
-@param aSmsSettings
-The SMS Settings to be copied.
-*/
-EXPORT_C void CSmsSettings::CopyL(const CSmsSettings& aSmsSettings)
- {
- CSmsMessageSettings::CopyL(aSmsSettings);
-
- iServiceCenters->ResetAndDestroy();
- const TInt count = aSmsSettings.ServiceCenterCount();
- for (TInt i=0; i < count; i++)
- {
- CSmsServiceCenter* scNumber = CSmsServiceCenter::NewL(aSmsSettings.GetServiceCenter(i));
- CleanupStack::PushL(scNumber);
- iServiceCenters->AppendL(scNumber);
- CleanupStack::Pop(scNumber);
- }
-
- iDelivery = aSmsSettings.iDelivery;
- iDefaultSC = aSmsSettings.iDefaultSC;
- iSpecialMessageHandling = aSmsSettings.iSpecialMessageHandling;
- iStatusReportHandling = aSmsSettings.iStatusReportHandling;
- iSetFlags = aSmsSettings.iSetFlags;
- iCommDbAction = aSmsSettings.iCommDbAction;
- iSmsBearerAction = aSmsSettings.iSmsBearerAction;
- iSmsBearer = aSmsSettings.iSmsBearer;
- iClass2Folder = aSmsSettings.iClass2Folder;
- iDescriptionLength = aSmsSettings.iDescriptionLength;
- }
-
-/**
-Returns SMS settings flag
-
-@return
-SMS settings flag
-*/
-TUint32 CSmsSettings::SettingsFlags() const
- {
- return iSetFlags;
- }
-
-/**
-Sets SMS settings flag
-
-@param aSetFlags
-SMS settings flag
-*/
-void CSmsSettings::SetSettingsFlags(TUint32 aSetFlags)
- {
- iSetFlags = aSetFlags;
- }
-
-/*
- * CSmsNumber
- */
-
-/**
-Creates and allocates a new CSmsNumber object.
-
-@return
-The new object.
-*/
-EXPORT_C CSmsNumber* CSmsNumber::NewL()
- {
- return new(ELeave) CSmsNumber();
- }
-
-/**
-Creates and allocates a new CSmsNumber object, copying an existing object.
-
-@param aSmsNumber
-The object to be copied.
-
-@return
-The new object.
-*/
-EXPORT_C CSmsNumber* CSmsNumber::NewL(const CSmsNumber& aSmsNumber)
- {
- CSmsNumber* number=new(ELeave) CSmsNumber();
- CleanupStack::PushL(number);
- number->CopyL(aSmsNumber);
- CleanupStack::Pop(number);
- return number;
- }
-
-/**
-Destructor.
-*/
-EXPORT_C CSmsNumber::~CSmsNumber()
- {
- delete iNumber;
- delete iName;
- }
-
-/**
-Internalises the object from a read stream.
-
-@param aStream
-The stream from which the object should be internalised.
-*/
-EXPORT_C void CSmsNumber::InternalizeL( RReadStream& aStream)
- {
- TInt16 version = aStream.ReadInt16L();
-
- CMsvRecipient::InternalizeL(aStream);
-
- HBufC* number = HBufC::NewL(aStream, KSmcmSmsNumberMaxNumberLength);
- delete iNumber;
- iNumber = number;
-
- HBufC* name = HBufC::NewL(aStream, KSmcmSmsNumberMaxNameLength);
- delete iName;
- iName = name;
-
- iLogId = aStream.ReadInt32L();
-
- if( version >= 2 )
- {
- iDeliveryStatus = (TSmsAckStatus) aStream.ReadInt8L();
- }
- else
- {
- iDeliveryStatus = ENoAckRequested;
- }
- }
-
-/**
-Externalises the object to a write stream.
-
-@param aStream
-The stream to which the object should be externalised.
-*/
-EXPORT_C void CSmsNumber::ExternalizeL( RWriteStream& aStream) const
- {
- aStream.WriteInt16L(KMsgFileSmsNumberVersion);
-
- CMsvRecipient::ExternalizeL(aStream);
-
- aStream << Address();
- aStream << Name();
-
- aStream.WriteInt32L(iLogId);
- aStream.WriteInt8L(iDeliveryStatus);
- }
-
-/**
-Constructor.
-*/
-CSmsNumber::CSmsNumber()
-: iLogId(KLogNullId)
- {
- }
-
-/**
-Copies settings from another CSmsNumber object.
-
-@param aSmsNumber
-The object to be copied.
-
-@return
-This object with the updated settings.
-*/
-EXPORT_C CSmsNumber& CSmsNumber::CopyL(const CSmsNumber& aSmsNumber)
- {
- SetNameL(aSmsNumber.Name());
- SetAddressL(aSmsNumber.Address());
- SetLogId(aSmsNumber.LogId());
- SetAckStatus(ESmsAckTypeDelivery, aSmsNumber.AckStatus(ESmsAckTypeDelivery));
- return *this;
- }
-
-/**
-Gets the recipient address.
-
-The address is a telephone number. It is limited to a maximum length specified
-by KSmcmSmsNumberMaxNumberLength.
-
-@see KSmcmSmsNumberMaxNumberLength
-
-@return
-A descriptor with the recipient address.
-*/
-EXPORT_C TPtrC CSmsNumber::Address() const
- {
- TPtrC number = iNumber ? iNumber->Des() : TPtrC();
- return number;
- }
-
-/**
-Gets the recipient name.
-
-@return
-A descriptor with the recipient name.
-*/
-EXPORT_C TPtrC CSmsNumber::Name() const
- {
- TPtrC name = iName ? iName->Des() : TPtrC();
- return name;
- }
-
-/**
-Sets the recipient address.
-
-The address is a telephone number. It is limited to a maximum length specified
-by KSmcmSmsNumberMaxNumberLength.
-
-@see KSmcmSmsNumberMaxNumberLength
-
-@param aAddress
-The recipient address.
-*/
-EXPORT_C void CSmsNumber::SetAddressL(const TDesC& aAddress)
- {
- TPtrC clippedNumber = LimitStringSize(aAddress, KSmcmSmsNumberMaxNumberLength);
- HBufC* number = clippedNumber.AllocL();
- delete iNumber;
- iNumber = number;
- }
-
-/**
-Sets the recipient email address, The address here is a email address.
-
-@param aAddress
-The recipient address.
-@param aEmailFields
-Encapsulates the address fields for Email sent over SMS.
-@param aAlias
-*/
-
-// For address information separation (start)
-const TUint KMsgSmsAddressStartChar ('<');
-// For address information separation (end)
-const TUint KMsgSmsAddressEndChar ('>');
-
-void CSmsNumber::SetEmailAddressL(const TDesC& aAddress, CSmsEmailFields* aEmailFields, const TDesC& aAlias)
- {
- if ( aAlias.Length() > 0 )
- {
- HBufC* aliasBuf = HBufC::NewLC( aAddress.Length() + aAlias.Length() + 3 );
- TPtr aliasTPtr = aliasBuf->Des();
- aliasTPtr.Append( aAlias );
- aliasTPtr.Append( CEditableText::ESpace );
- aliasTPtr.Append( KMsgSmsAddressStartChar );
- aliasTPtr.Append( aAddress );
- aliasTPtr.Append( KMsgSmsAddressEndChar );
- aEmailFields->AddAddressL( aliasTPtr );
-
- CleanupStack::PopAndDestroy( aliasBuf );
- }
- else
- {
- aEmailFields->AddAddressL( aAddress );
- }
- }
-
-/**
-Sets the recipient name.
-
-The name is limited to a maximum length specified by KSmcmSmsNumberMaxNameLength.
-
-@see KSmcmSmsNumberMaxNameLength
-
-@param aName
-The recipient name.
-*/
-EXPORT_C void CSmsNumber::SetNameL(const TDesC& aName)
- {
- TPtrC clippedName = LimitStringSize(aName, KSmcmSmsNumberMaxNameLength);
- HBufC* name = clippedName.AllocL();
- delete iName;
- iName = name;
- }
-
-/**
-Gets the delivery status for this recipient.
-
-@return
-The current delivery status for this recipient.
-
-@see CSmsNumber::TSmsDeliveryStatus
-*/
-EXPORT_C CSmsNumber::TSmsAckStatus CSmsNumber::AckStatus(TSmsAckType aAckType) const
- {
- TSmsAckStatus status = ENoAckRequested;
- switch( aAckType )
- {
- case ESmsAckTypeDelivery:
- status = iDeliveryStatus;
- break;
- default:
- // Use the default...
- break;
- }
- return status;
- }
-
-/**
-Sets the delivery status for this recipient.
-
-@param
-aDeliveryStatus The new delivery status for this recipient.
-
-@see CSmsNumber::TSmsDeliveryStatus
-*/
-EXPORT_C void CSmsNumber::SetAckStatus(TSmsAckType aAckType, TSmsAckStatus aAckStatus)
- {
- switch( aAckType )
- {
- case ESmsAckTypeDelivery:
- iDeliveryStatus = aAckStatus;
- break;
- default:
- // Do nothing - fail gracefully
- break;
- }
- }
-
-/**
-Returns a limited version of the input string.
-
-The output string is limited by the maximum length specified or the actual#
-length of the input string, withever is the shortest.
-
-@param aString
-The input string to be limited.
-
-@param aMaxLength
-The maximum length
-
-@return
-The input string limited by the shortest value between its original length or
-the maximum length specified.
-*/
-TPtrC CSmsNumber::LimitStringSize(const TPtrC& aString, TInt aMaxLength) const
- {
- if (aString.Length() <= aMaxLength)
- return aString;
- else
- return aString.Left(aMaxLength);
- }
-
-/**
-Creates and allocates a new CSmsServiceCenter object.
-
-@return
-The new object.
-*/
-EXPORT_C CSmsServiceCenter* CSmsServiceCenter::NewL()
- {
- return new(ELeave) CSmsServiceCenter();
- }
-
-/**
-Creates and allocates a new CSmsServiceCenter object, copying an existing object.
-
-@param CSmsServiceCenter
-The object to be copied.
-
-@return
-The new object.
-*/
-EXPORT_C CSmsServiceCenter* CSmsServiceCenter::NewL(const CSmsServiceCenter& aSmsSc)
- {
- CSmsServiceCenter* sc = new(ELeave) CSmsServiceCenter();
- CleanupStack::PushL(sc);
- sc->CopyL(aSmsSc);
- CleanupStack::Pop(sc);
- return sc;
- }
-
-/**
-Destructor.
-*/
-EXPORT_C CSmsServiceCenter::~CSmsServiceCenter()
- {
- delete iNumber;
- delete iName;
- }
-
-/**
-Constructor.
-*/
-CSmsServiceCenter::CSmsServiceCenter()
- {
- }
-
-/**
-Copies settings from another CSmsServiceCenter object.
-
-@param aSmsSc
-The object to be copied.
-
-@return
-This object with the updated settings.
-*/
-EXPORT_C CSmsServiceCenter& CSmsServiceCenter::CopyL(const CSmsServiceCenter& aSmsSc)
- {
- SetNameL(aSmsSc.Name());
- SetAddressL(aSmsSc.Address());
- return *this;
- }
-
-/**
-Gets the recipient address.
-
-The address is a telephone number. It is limited to a maximum length specified
-by KSmcmSmsNumberMaxNumberLength.
-
-@see KSmcmSmsNumberMaxNumberLength
-
-@return
-A descriptor with the recipient address.
-*/
-EXPORT_C TPtrC CSmsServiceCenter::Address() const
- {
- TPtrC number = iNumber ? iNumber->Des() : TPtrC();
- return number;
- }
-
-/**
-Gets the recipient name.
-
-@return
-A descriptor with the recipient name.
-*/
-EXPORT_C TPtrC CSmsServiceCenter::Name() const
- {
- TPtrC name = iName ? iName->Des() : TPtrC();
- return name;
- }
-
-/**
-Sets the recipient address.
-
-The address is a telephone number. It is limited to a maximum length specified
-by KSmcmSmsNumberMaxNumberLength.
-
-@see KSmcmSmsNumberMaxNumberLength
-
-@param aAddress
-The recipient address.
-*/
-EXPORT_C void CSmsServiceCenter::SetAddressL(const TDesC& aAddress)
- {
- TPtrC clippedNumber = LimitStringSize(aAddress, KSmcmSmsNumberMaxNumberLength);
- HBufC* number = clippedNumber.AllocL();
- delete iNumber;
- iNumber = number;
- }
-
-/**
-Sets the recipient name.
-
-The name is limited to a maximum length specified by KSmcmSmsNumberMaxNameLength.
-
-@see KSmcmSmsNumberMaxNameLength
-
-@param aName
-The recipient name.
-*/
-EXPORT_C void CSmsServiceCenter::SetNameL(const TDesC& aName)
- {
- TPtrC clippedName = LimitStringSize(aName, KSmcmSmsNumberMaxNameLength);
- HBufC* name = clippedName.AllocL();
- delete iName;
- iName = name;
- }
-
-/**
-Returns a limited version of the input string.
-
-The output string is limited by the maximum length specified or the actual#
-length of the input string, withever is the shortest.
-
-@param aString
-The input string to be limited.
-
-@param aMaxLength
-The maximum length
-
-@return
-The input string limited by the shortest value between its original length or
-the maximum length specified.
-*/
-TPtrC CSmsServiceCenter::LimitStringSize(const TPtrC& aString, TInt aMaxLength) const
- {
- if (aString.Length() <= aMaxLength)
- {
- return aString;
- }
- else
- {
- return aString.Left(aMaxLength);
- }
- }
-