1.1 --- a/epoc32/include/gsmupdu.h Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/gsmupdu.h Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,9 +1,9 @@
1.4 // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 // All rights reserved.
1.6 // This component and the accompanying materials are made available
1.7 -// 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
1.8 +// under the terms of "Eclipse Public License v1.0"
1.9 // which accompanies this distribution, and is available
1.10 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.12 //
1.13 // Initial Contributors:
1.14 // Nokia Corporation - initial contribution.
1.15 @@ -15,8 +15,6 @@
1.16 //
1.17 //
1.18
1.19 -
1.20 -
1.21 /**
1.22 @file
1.23 */
1.24 @@ -29,7 +27,7 @@
1.25
1.26 class TGsmSms;
1.27 class CSmsAddress;
1.28 -
1.29 +struct TEncodeParams;
1.30
1.31 /**
1.32 * A generic interface to a GSM SMS PDU.
1.33 @@ -54,23 +52,24 @@
1.34 /** Flags for the 6 basic PDU types in GSM SMS messaging. */
1.35 enum TSmsPDUType
1.36 {
1.37 - ESmsDeliver = 0, ///< SMS-DELIVER, sent from SC to MS
1.38 - ESmsDeliverReport = 1, ///< SMS-DELIVER-REPORT, sent from MS to SC
1.39 - ESmsSubmit = 2, ///< SMS-SUBMIT, sent from MS to SC
1.40 - ESmsSubmitReport = 3, ///< SMS-SUBMIT-REPORT, sent from SC to MS
1.41 - ESmsStatusReport = 4, ///< SMS-STATUS-REQUEST, sent from SC to MS
1.42 - ESmsCommand = 5 ///< SMS-COMMAND, sent from MS to SC
1.43 + ESmsDeliver = 0, //< SMS-DELIVER, sent from SC to MS
1.44 + ESmsDeliverReport = 1, //< SMS-DELIVER-REPORT, sent from MS to SC
1.45 + ESmsSubmit = 2, //< SMS-SUBMIT, sent from MS to SC
1.46 + ESmsSubmitReport = 3, //< SMS-SUBMIT-REPORT, sent from SC to MS
1.47 + ESmsStatusReport = 4, //< SMS-STATUS-REQUEST, sent from SC to MS
1.48 + ESmsCommand = 5 //< SMS-COMMAND, sent from MS to SC
1.49 };
1.50 public:
1.51 IMPORT_C static CSmsPDU* NewL(RReadStream &aStream,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs);
1.52 IMPORT_C static CSmsPDU* NewL(const TGsmSms& aGsmSms,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs,TBool aIsRPError=EFalse,TBool aIsMobileTerminated=ETrue);
1.53 IMPORT_C static CSmsPDU* NewL(TSmsPDUType aType,CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs,TBool aIsRPError=EFalse);
1.54 -
1.55 +
1.56 inline TSmsPDUType Type() const;
1.57
1.58 IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
1.59
1.60 IMPORT_C void EncodeMessagePDUL(TGsmSms& aGsmSms) const;
1.61 + void EncodeMessagePDUL(TGsmSms& aGsmSms, const TEncodeParams* aEncodeParams) const;
1.62
1.63 IMPORT_C TPtrC ServiceCenterAddress() const;
1.64 IMPORT_C void SetServiceCenterAddressL(const TDesC& aAddress);
1.65 @@ -138,19 +137,21 @@
1.66 IMPORT_C CSmsUserData& UserData();
1.67 IMPORT_C const CSmsUserData& UserData() const;
1.68 virtual void DecodeL(TGsmuLex8& aPdu)=0;
1.69 - void UpdateConcatenationDataL(TGsmSms& aGsmSms, TInt aRef, TInt aPduIndex, TInt aMaxPdu);
1.70 - void UpdateEmailHeaderDataL(TGsmSms& aGsmSms,TInt& aEmailOverallHeaderLength);
1.71 + void UpdateConcatenationDataL(TInt aRef, TInt aPduIndex, TInt aMaxPdu);
1.72 + void UpdateEmailHeaderDataL(TInt& aEmailOverallHeaderLength);
1.73
1.74 // SMSC Control Parameters
1.75 - TBool UpdateSMSCCtrlParameterL(TGsmSms& aGsmSms, const TUint8 aOctet);
1.76 + TBool UpdateSMSCCtrlParameterL(const TUint8 aOctet);
1.77
1.78 // TPSRR Scheme
1.79 - TBool UpdateTPSRRL(TGsmSms& aGsmSms, TSmsFirstOctet aSmsReportRequest);
1.80 + TBool UpdateTPSRRL(TSmsFirstOctet aSmsReportRequest);
1.81
1.82 // National Language Encoding
1.83 IMPORT_C TSmsEncoding NationalLanguageEncoding() const;
1.84 IMPORT_C void SetNationalLanguageEncodingL(TSmsEncoding aEncoding);
1.85
1.86 + IMPORT_C CSmsPDU* DuplicateL() const;
1.87 +
1.88 protected:
1.89 CSmsPDU(TSmsPDUType aSmsPDUType);
1.90
1.91 @@ -162,6 +163,7 @@
1.92
1.93 virtual void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs)=0;
1.94 virtual TUint8* EncodeL(TUint8* aPtr) const=0;
1.95 + virtual TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const=0;
1.96
1.97 virtual void InternalizeMessagePDUL(RReadStream& aStream)=0;
1.98 virtual void ExternalizeMessagePDUL(RWriteStream& aStream) const=0;
1.99 @@ -203,6 +205,8 @@
1.100 IMPORT_C void ServiceCenterTimeStamp(TTime& aTime,TInt& aNumQuarterHours);
1.101 IMPORT_C void SetServiceCenterTimeStamp(const TTime& aTime,TInt aNumQuarterHours=0);
1.102 IMPORT_C const TSmsProtocolIdentifier* ProtocolIdentifier() const;
1.103 +
1.104 + IMPORT_C CSmsDeliver* DuplicateL() const;
1.105
1.106 protected:
1.107 const TSmsDataCodingScheme* DataCodingScheme() const;
1.108 @@ -211,6 +215,7 @@
1.109
1.110 void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs);
1.111 TUint8* EncodeL(TUint8* aPtr) const;
1.112 + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const;
1.113 void DecodeL(TGsmuLex8& aPdu);
1.114 void InternalizeMessagePDUL(RReadStream& aStream);
1.115 void ExternalizeMessagePDUL(RWriteStream& aStream) const;
1.116 @@ -253,6 +258,8 @@
1.117
1.118 IMPORT_C const TTimeIntervalMinutes& ValidityPeriod() const;
1.119 IMPORT_C void SetValidityPeriod(const TTimeIntervalMinutes& aTimeIntervalMinutes);
1.120 +
1.121 + IMPORT_C CSmsSubmit* DuplicateL() const;
1.122
1.123 protected:
1.124 const TSmsDataCodingScheme* DataCodingScheme() const;
1.125 @@ -262,6 +269,7 @@
1.126
1.127 void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs);
1.128 TUint8* EncodeL(TUint8* aPtr) const;
1.129 + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const;
1.130 void DecodeL(TGsmuLex8& aPdu);
1.131 void InternalizeMessagePDUL(RReadStream& aStream);
1.132 void ExternalizeMessagePDUL(RWriteStream& aStream) const;
1.133 @@ -294,6 +302,8 @@
1.134 IMPORT_C TInt FailureCause() const;
1.135 IMPORT_C void SetFailureCause(TSmsFailureCause::TSmsFailureCauseError aFailureCause);
1.136
1.137 + IMPORT_C CSmsDeliverReport* DuplicateL() const;
1.138 +
1.139 protected:
1.140 const TSmsDataCodingScheme* DataCodingScheme() const;
1.141 const TSmsProtocolIdentifier* ProtocolIdentifier() const;
1.142 @@ -302,6 +312,7 @@
1.143
1.144 void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs);
1.145 TUint8* EncodeL(TUint8* aPtr) const;
1.146 + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const;
1.147 void DecodeL(TGsmuLex8& aPdu);
1.148 void InternalizeMessagePDUL(RReadStream& aStream);
1.149 void ExternalizeMessagePDUL(RWriteStream& aStream) const;
1.150 @@ -335,6 +346,8 @@
1.151 IMPORT_C TInt FailureCause() const;
1.152 IMPORT_C void SetFailureCause(TSmsFailureCause::TSmsFailureCauseError aFailureCause);
1.153
1.154 + IMPORT_C CSmsSubmitReport* DuplicateL() const;
1.155 +
1.156 protected:
1.157 const TSmsDataCodingScheme* DataCodingScheme() const;
1.158 const TSmsProtocolIdentifier* ProtocolIdentifier() const;
1.159 @@ -343,6 +356,7 @@
1.160
1.161 void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs);
1.162 TUint8* EncodeL(TUint8* aPtr) const;
1.163 + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const;
1.164 void DecodeL(TGsmuLex8& aPdu);
1.165 void InternalizeMessagePDUL(RReadStream& aStream);
1.166 void ExternalizeMessagePDUL(RWriteStream& aStream) const;
1.167 @@ -392,6 +406,8 @@
1.168 IMPORT_C TSmsStatus::TSmsStatusValue Status() const;
1.169 IMPORT_C void SetStatus(TSmsStatus::TSmsStatusValue aValue);
1.170
1.171 + IMPORT_C CSmsStatusReport* DuplicateL() const;
1.172 +
1.173 protected:
1.174 const TSmsDataCodingScheme* DataCodingScheme() const;
1.175 const TSmsProtocolIdentifier* ProtocolIdentifier() const;
1.176 @@ -401,6 +417,7 @@
1.177
1.178 void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs);
1.179 TUint8* EncodeL(TUint8* aPtr) const;
1.180 + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const;
1.181 void DecodeL(TGsmuLex8& aPdu);
1.182 void InternalizeMessagePDUL(RReadStream& aStream);
1.183 void ExternalizeMessagePDUL(RWriteStream& aStream) const;
1.184 @@ -456,12 +473,15 @@
1.185 IMPORT_C TPtrC8 CommandData() const;
1.186 IMPORT_C void SetCommandDataL(const TDesC8& aData);
1.187
1.188 + IMPORT_C CSmsCommand* DuplicateL() const;
1.189 +
1.190 protected:
1.191 const TSmsProtocolIdentifier* ProtocolIdentifier() const;
1.192 const CSmsAddress* ToFromAddressPtr() const;
1.193
1.194 void ConstructL(CCnvCharacterSetConverter& aCharacterSetConverter,RFs& aFs);
1.195 TUint8* EncodeL(TUint8* aPtr) const;
1.196 + TUint8* EncodeL(TUint8* aPtr, const TEncodeParams* aEncodeParams) const;
1.197 void DecodeL(TGsmuLex8& aPdu);
1.198 void InternalizeMessagePDUL(RReadStream& aStream);
1.199 void ExternalizeMessagePDUL(RWriteStream& aStream) const;