Fixing up a few headers that got left behind.
// Copyright (c) 2006-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:+ −
// This file defines the container class CSmsNonIEOperation and its specialisations.+ −
// The classes provide interfaces that allow the client to operate on a number+ −
// of features which are not associated with Information Elements.+ −
// + −
//+ −
+ −
/**+ −
@file+ −
*/+ −
+ −
#ifndef __GSMUNONIEOPERATIONS_+ −
#define __GSMUNONIEOPERATIONS_+ −
+ −
+ −
#include <e32base.h>+ −
#include <gsmumsg.h>+ −
#include <gsmuelem.h>+ −
+ −
/**+ −
* SMS Stack clients use specialisations of this class to configure a SMS Message with parameters which are not+ −
* a type of Information Element.+ −
*+ −
* Each parameter that uses this interface is supported by a class derived from CSmsNonIEOperation.+ −
* The derived class operates on the CSmsMessage, allowing the client to add, remove and access these parameters+ −
* inside the CSmsMessage.+ −
*+ −
* The client gets access to an operations class using the following interface:+ −
*+ −
* CSmsNonIEOperation& CSmsMessage::GetOperationsForNonIEL(TSmsNonIEIdentifier aId);+ −
*+ −
* When the CSmsMessage is deleted, all its associated CSmsNonIEOperations classes are also deleted and references to+ −
* them become stale. Each instance of the CSmsNonIEOperation Class is an attribute of the CSmsMessage itself.+ −
*+ −
* @publishedAll+ −
* @released+ −
*/+ −
class CSmsNonIEOperation : public CBase+ −
{+ −
public: + −
static CSmsNonIEOperation* NewL(TSmsNonIEIdentifier aId, CSmsMessage& aMessage);+ −
IMPORT_C TSmsNonIEIdentifier Id() const;+ −
virtual ~CSmsNonIEOperation(){};+ −
protected:+ −
virtual TBool MessageTypeSupported() const;+ −
virtual void ValidateOperationL() const {};+ −
private: + −
void ConstructL(); + −
private: + −
TSmsNonIEIdentifier iId;+ −
protected:+ −
CSmsMessage& iMessage;+ −
CSmsNonIEOperation(TSmsNonIEIdentifier aId, CSmsMessage& aMessage);+ −
void operator=(const CSmsNonIEOperation&);+ −
TBool operator==(const CSmsNonIEOperation&); + −
};+ −
+ −
class CSmsCtrlNonIEOperation : public CSmsNonIEOperation+ −
{+ −
protected:+ −
CSmsCtrlNonIEOperation(TSmsNonIEIdentifier aId, CSmsMessage& aMessage);+ −
~CSmsCtrlNonIEOperation(){};+ −
void operator=(const CSmsCtrlNonIEOperation&);+ −
TBool operator==(const CSmsCtrlNonIEOperation&);+ −
};+ −
+ −
class CSmsTPSRROperations : public CSmsCtrlNonIEOperation+ −
{+ −
public:+ −
CSmsTPSRROperations(TSmsNonIEIdentifier aId, CSmsMessage& aMessage);+ −
~CSmsTPSRROperations() {};+ −
IMPORT_C TInt GetStatusReport(TUint aSegmentSequenceNum) const;+ −
IMPORT_C void SetLastSegmentStatusReportL(TBool aEnable);+ −
IMPORT_C TInt SetSegmentStatusReportL(TUint aSegmentSequenceNum, TBool aEnable);+ −
IMPORT_C void SetSchemeL();+ −
IMPORT_C TSmsStatusReportScheme GetScheme() const;+ −
IMPORT_C void ResetSchemeL();+ −
IMPORT_C void SetDefaultL(TBool aEnable);+ −
protected:+ −
void ValidateOperationL() const;+ −
void operator=(const CSmsTPSRROperations&);+ −
TBool operator==(const CSmsTPSRROperations&);+ −
};+ −
+ −
/**+ −
* This class will store the incomplete class 0 message information.+ −
* + −
* + −
* The object of this class will be stored inside CSmsMessageAdditionalAttributes class.+ −
* This class will provide 2 exported functions which will allow the caller of this class + −
* to get/set incomplete class 0 message information.+ −
* @publishedAll+ −
* @released + −
*/+ −
class CIncompleteClass0MessageInfo : public CSmsNonIEOperation+ −
{+ −
public:+ −
CIncompleteClass0MessageInfo(TSmsNonIEIdentifier aId, CSmsMessage& aMessage);+ −
IMPORT_C void GetIncompleteMessageInfoL(TInt& aStartPos, TInt& aEndPos, TBool& aIsLastIncompleteMessage);+ −
IMPORT_C void SetIncompleteMessageInfoL(TInt aStartPos, TInt aEndPos, TBool aIsLastIncompleteMessage);+ −
TInt Version();+ −
void SetVersion(TInt aVersion);+ −
void InternalizeL(RReadStream& aStream);+ −
void ExternalizeL(RWriteStream& aStream) const;+ −
+ −
protected:+ −
TBool MessageTypeSupported() const;+ −
void ValidateOperationL() const;+ −
void operator=(const CIncompleteClass0MessageInfo&);+ −
TBool operator==(const CIncompleteClass0MessageInfo&);+ −
+ −
public:+ −
/**+ −
* Incomplete Class 0 Message versions+ −
*/+ −
enum TSmsIncompleteClass0MessageVersion+ −
{+ −
/** The default value. */+ −
ESmsIncompleteClass0MessageV0,+ −
// for all other versions the corresponding enum values would be added i.e. ESmsIncompleteClass0MessageV1, etc.+ −
EMaxSmsIncompleteClass0MessageV+ −
};+ −
+ −
private:+ −
/**+ −
* iVersion is the version of CIncompleteClass0MessageInfo. This parameter will be+ −
* used to identify what iAdditionalInfo points to for that particular+ −
* version of CIncompleteClass0MessageInfo+ −
*/+ −
TInt iVersion;+ −
+ −
TInt iStartPos;+ −
TInt iEndPos;+ −
TBool iIsLastIncompleteMessage;+ −
};+ −
+ −
#endif+ −