epoc32/include/gsmupdu.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     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;