--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syncmlfw/common/syncagent/inc/NSmlResponseController.h Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2002 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: Status response buffering
+*
+*/
+
+
+#ifndef __NSMLRESPONSECONTROLLER_H
+#define __NSMLRESPONSECONTROLLER_H
+
+
+// INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CNSmlFutureReservation;
+
+// CLASS DECLARATION
+class CNSmlResponseController : public CBase
+ {
+ public: // enumerations
+ enum TResponseDetail
+ {
+ EResponseNoDetail,
+ EResponseInitAlert
+ };
+
+ public: // constructors and desctructor
+ static CNSmlResponseController* NewL();
+ static CNSmlResponseController* NewLC();
+ ~CNSmlResponseController(); //from CBase
+
+ public: //new functions
+
+ TInt CreateNewResponseItemL();
+ void RemoveResponseItem( TInt aMsgID, TInt aCmdID );
+ void SetMsgID( TInt aEntryID, TInt aMsgID );
+ void SetCmdL( TInt aEntryID, const TDesC8& aCmd );
+ void SetCmdID( TInt aEntryID, TInt aCmdID );
+ IMPORT_C void SetLUIDL( TInt aEntryID, const TDesC8& aLUID );
+ IMPORT_C void SetAppIndex( TInt aEntryID, TInt aAppIndex );
+ void SetChalTypeL( TInt aEntryID, const TDesC8& aType );
+ void SetChalFormatL( TInt aEntryID, const TDesC8& aFormat );
+ void SetChalNextNonceL( TInt aEntryID, const TDesC8& aNextNonce );
+ IMPORT_C void SetResponseDetail( TInt aEntryID, TResponseDetail aResponseDetail );
+ IMPORT_C void SetMoreData( TInt aEntryID );
+ void RemoveAllReceivedOnes();
+ IMPORT_C void ResetL();
+ TBool MatchStatusElement( const TDesC8& aMsgID, const TDesC8& aCmdID, TInt aStatusCode, TInt& aEntryID );
+
+ void Begin();
+ TBool NextResponseInfo( TInt& aEntryID );
+ TBool ItemResponseInfo( const TDesC8& aLUID, TInt& aEntryID ) const;
+
+ IMPORT_C TDesC8& Cmd( TInt aEntryID ) const;
+ IMPORT_C TPtrC8 LUID( TInt aEntryID ) const;
+ IMPORT_C TInt AppIndex( TInt aEntryID ) const;
+ IMPORT_C TInt StatusCode( TInt aEntryID ) const;
+ TBool StatusReceived( TInt aEntryID ) const;
+ IMPORT_C TPtrC8 ChalType( TInt aEntryID ) const;
+ TPtrC8 ChalFormat( TInt aEntryID ) const;
+ TPtrC8 ChalNextNonce( TInt aEntryID ) const;
+ IMPORT_C TResponseDetail ResponseDetail( TInt aEntryID ) const;
+ TBool BusyStatus( TInt aMsgID ) const;
+ IMPORT_C TBool MoreData( TInt aEntryID ) const;
+ IMPORT_C TInt EntryID( TInt aCmdID, TInt aMsgID) const;
+
+ private:
+ void ConstructL();
+ CNSmlResponseController();
+ CNSmlResponseController( const CNSmlResponseController& aOther );
+ CNSmlResponseController& operator=( const CNSmlResponseController& aOther );
+ void CreateResponseChalL( TInt aIndex );
+ void FreeResources( TInt aI );
+
+ private: //Data
+ //
+ struct TChal
+ {
+ HBufC8* chalType;
+ HBufC8* chalFormat;
+ HBufC8* chalNextNonce;
+ };
+
+ struct TResponseData
+ {
+ TInt responseMsgID;
+ HBufC8* responseCmd;
+ TInt responseCmdID;
+ HBufC8* responseLUID;
+ TInt responseAppIndex;
+ TInt responseStatusCode;
+ TBool responseStatusReceived;
+ TChal* responseChal;
+ TResponseDetail responseDetail;
+ TBool responseMoreData;
+ };
+ CArrayFixFlat<TResponseData>* iResponse;
+ TInt iEntryID;
+ // Reserved to maintain binary compability
+ CNSmlFutureReservation* iReserved;
+ };
+
+#endif // __NSMLRESPONSECONTROLLER_H