diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/gsmupdu.h --- a/epoc32/include/gsmupdu.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/gsmupdu.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,9 +1,9 @@ // 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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. @@ -15,8 +15,6 @@ // // - - /** @file */ @@ -29,7 +27,7 @@ class TGsmSms; class CSmsAddress; - +struct TEncodeParams; /** * A generic interface to a GSM SMS PDU. @@ -54,23 +52,24 @@ /** Flags for the 6 basic PDU types in GSM SMS messaging. */ enum TSmsPDUType { - ESmsDeliver = 0, ///< SMS-DELIVER, sent from SC to MS - ESmsDeliverReport = 1, ///< SMS-DELIVER-REPORT, sent from MS to SC - ESmsSubmit = 2, ///< SMS-SUBMIT, sent from MS to SC - ESmsSubmitReport = 3, ///< SMS-SUBMIT-REPORT, sent from SC to MS - ESmsStatusReport = 4, ///< SMS-STATUS-REQUEST, sent from SC to MS - ESmsCommand = 5 ///< SMS-COMMAND, sent from MS to SC + ESmsDeliver = 0, //< SMS-DELIVER, sent from SC to MS + ESmsDeliverReport = 1, //< SMS-DELIVER-REPORT, sent from MS to SC + ESmsSubmit = 2, //< SMS-SUBMIT, sent from MS to SC + ESmsSubmitReport = 3, //< SMS-SUBMIT-REPORT, sent from SC to MS + ESmsStatusReport = 4, //< SMS-STATUS-REQUEST, sent from SC to MS + ESmsCommand = 5 //< SMS-COMMAND, sent from MS to SC }; public: IMPORT_C static CSmsPDU* NewL(RReadStream &aStream,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs); IMPORT_C static CSmsPDU* NewL(const TGsmSms& aGsmSms,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs,TBool aIsRPError=EFalse,TBool aIsMobileTerminated=ETrue); IMPORT_C static CSmsPDU* NewL(TSmsPDUType aType,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs,TBool aIsRPError=EFalse); - + inline TSmsPDUType Type() const; IMPORT_C void ExternalizeL(RWriteStream& aStream) const; IMPORT_C void EncodeMessagePDUL(TGsmSms& aGsmSms) const; + void EncodeMessagePDUL(TGsmSms& aGsmSms, const TEncodeParams* aEncodeParams) const; IMPORT_C TPtrC ServiceCenterAddress() const; IMPORT_C void SetServiceCenterAddressL(const TDesC& aAddress); @@ -138,19 +137,21 @@ IMPORT_C CSmsUserData& UserData(); IMPORT_C const CSmsUserData& UserData() const; virtual void DecodeL(TGsmuLex8& aPdu)=0; - void UpdateConcatenationDataL(TGsmSms& aGsmSms, TInt aRef, TInt aPduIndex, TInt aMaxPdu); - void UpdateEmailHeaderDataL(TGsmSms& aGsmSms,TInt& aEmailOverallHeaderLength); + void UpdateConcatenationDataL(TInt aRef, TInt aPduIndex, TInt aMaxPdu); + void UpdateEmailHeaderDataL(TInt& aEmailOverallHeaderLength); // SMSC Control Parameters - TBool UpdateSMSCCtrlParameterL(TGsmSms& aGsmSms, const TUint8 aOctet); + TBool UpdateSMSCCtrlParameterL(const TUint8 aOctet); // TPSRR Scheme - TBool UpdateTPSRRL(TGsmSms& aGsmSms, TSmsFirstOctet aSmsReportRequest); + TBool UpdateTPSRRL(TSmsFirstOctet aSmsReportRequest); // National Language Encoding IMPORT_C TSmsEncoding NationalLanguageEncoding() const; IMPORT_C void SetNationalLanguageEncodingL(TSmsEncoding aEncoding); + IMPORT_C CSmsPDU* DuplicateL() const; + protected: CSmsPDU(TSmsPDUType aSmsPDUType); @@ -162,6 +163,7 @@ virtual void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs)=0; virtual TUint8* EncodeL(TUint8* aPtr) const=0; + virtual TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const=0; virtual void InternalizeMessagePDUL(RReadStream& aStream)=0; virtual void ExternalizeMessagePDUL(RWriteStream& aStream) const=0; @@ -203,6 +205,8 @@ IMPORT_C void ServiceCenterTimeStamp(TTime& aTime,TInt& aNumQuarterHours); IMPORT_C void SetServiceCenterTimeStamp(const TTime& aTime,TInt aNumQuarterHours=0); IMPORT_C const TSmsProtocolIdentifier* ProtocolIdentifier() const; + + IMPORT_C CSmsDeliver* DuplicateL() const; protected: const TSmsDataCodingScheme* DataCodingScheme() const; @@ -211,6 +215,7 @@ void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs); TUint8* EncodeL(TUint8* aPtr) const; + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const; void DecodeL(TGsmuLex8& aPdu); void InternalizeMessagePDUL(RReadStream& aStream); void ExternalizeMessagePDUL(RWriteStream& aStream) const; @@ -253,6 +258,8 @@ IMPORT_C const TTimeIntervalMinutes& ValidityPeriod() const; IMPORT_C void SetValidityPeriod(const TTimeIntervalMinutes& aTimeIntervalMinutes); + + IMPORT_C CSmsSubmit* DuplicateL() const; protected: const TSmsDataCodingScheme* DataCodingScheme() const; @@ -262,6 +269,7 @@ void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs); TUint8* EncodeL(TUint8* aPtr) const; + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const; void DecodeL(TGsmuLex8& aPdu); void InternalizeMessagePDUL(RReadStream& aStream); void ExternalizeMessagePDUL(RWriteStream& aStream) const; @@ -294,6 +302,8 @@ IMPORT_C TInt FailureCause() const; IMPORT_C void SetFailureCause(TSmsFailureCause::TSmsFailureCauseError aFailureCause); + IMPORT_C CSmsDeliverReport* DuplicateL() const; + protected: const TSmsDataCodingScheme* DataCodingScheme() const; const TSmsProtocolIdentifier* ProtocolIdentifier() const; @@ -302,6 +312,7 @@ void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs); TUint8* EncodeL(TUint8* aPtr) const; + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const; void DecodeL(TGsmuLex8& aPdu); void InternalizeMessagePDUL(RReadStream& aStream); void ExternalizeMessagePDUL(RWriteStream& aStream) const; @@ -335,6 +346,8 @@ IMPORT_C TInt FailureCause() const; IMPORT_C void SetFailureCause(TSmsFailureCause::TSmsFailureCauseError aFailureCause); + IMPORT_C CSmsSubmitReport* DuplicateL() const; + protected: const TSmsDataCodingScheme* DataCodingScheme() const; const TSmsProtocolIdentifier* ProtocolIdentifier() const; @@ -343,6 +356,7 @@ void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs); TUint8* EncodeL(TUint8* aPtr) const; + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const; void DecodeL(TGsmuLex8& aPdu); void InternalizeMessagePDUL(RReadStream& aStream); void ExternalizeMessagePDUL(RWriteStream& aStream) const; @@ -392,6 +406,8 @@ IMPORT_C TSmsStatus::TSmsStatusValue Status() const; IMPORT_C void SetStatus(TSmsStatus::TSmsStatusValue aValue); + IMPORT_C CSmsStatusReport* DuplicateL() const; + protected: const TSmsDataCodingScheme* DataCodingScheme() const; const TSmsProtocolIdentifier* ProtocolIdentifier() const; @@ -401,6 +417,7 @@ void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs); TUint8* EncodeL(TUint8* aPtr) const; + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const; void DecodeL(TGsmuLex8& aPdu); void InternalizeMessagePDUL(RReadStream& aStream); void ExternalizeMessagePDUL(RWriteStream& aStream) const; @@ -456,12 +473,15 @@ IMPORT_C TPtrC8 CommandData() const; IMPORT_C void SetCommandDataL(const TDesC8& aData); + IMPORT_C CSmsCommand* DuplicateL() const; + protected: const TSmsProtocolIdentifier* ProtocolIdentifier() const; const CSmsAddress* ToFromAddressPtr() const; void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs); TUint8* EncodeL(TUint8* aPtr) const; + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const; void DecodeL(TGsmuLex8& aPdu); void InternalizeMessagePDUL(RReadStream& aStream); void ExternalizeMessagePDUL(RWriteStream& aStream) const;