--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/syncmlfw/common/syncagent/inc/NSmlResultsContainer.h Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2005 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: Client's Results command buffering
+*
+*/
+
+
+
+#ifndef __NSMLRESULTSCONTAINER_H
+#define __NSMLRESULTSCONTAINER_H
+
+// INCLUDES
+#include <e32base.h>
+#include "smldtd.h"
+
+
+// FORWARD DECLARATIONS
+class CNSmlCmdsBase;
+class CNSmlFutureReservation;
+
+// CLASS DECLARATION
+class CNSmlResultsContainer : public CBase
+ {
+ //
+ public: // constructor and destructor
+ static CNSmlResultsContainer* NewL( CNSmlCmdsBase* aSyncMLCmds = NULL );
+ ~CNSmlResultsContainer(); //from CBase
+ public: // new functions
+ // Creates new Results element
+ IMPORT_C TInt CreateNewResultsL( const TDesC8& aMsgRef, const TDesC8& aCmdRef, const SmlTarget_t* aTargetRef, const SmlSource_t* aSourceRef );
+ // Set CmdID to Results element
+ IMPORT_C void SetCmdIDL( TInt aEntryID, const SmlPcdata_t* aCmdID );
+ // Add Item element
+ IMPORT_C void AddItemL( TInt aEntryID, const CBufBase& aObject, const TDesC8& aType, const TDesC8& aFormat );
+ // Set Id of Status ( in CNSmlStatusContainer instance )
+ IMPORT_C void SetStatusID( TInt aEntryID, TInt aStatusEntryID );
+ //
+ IMPORT_C void RemoveWritten (TInt aEntryID );
+
+ IMPORT_C void Begin();
+ IMPORT_C TBool NextResultsElement( SmlResults_t*& aResults );
+ // Get ID of the current element
+ IMPORT_C TInt CurrentEntryID() const;
+ // Any results in container
+ IMPORT_C TBool AnyResults() const;
+ // Get Id of Status ( in CNSmlStatusContainer instance )
+ IMPORT_C TInt StatusID( TInt aEntryID ) const;
+ //
+ //
+
+ private:
+ void ConstructL( CNSmlCmdsBase* aSyncMLCmds );
+ CNSmlResultsContainer();
+ CNSmlResultsContainer( const CNSmlResultsContainer& aOther );
+ CNSmlResultsContainer& operator=( const CNSmlResultsContainer& aOther );
+
+ void CopyPcdataL( const SmlPcdata_t* aFromPcdata, SmlPcdata_t*& aToPcdata ) const;
+ void RemoveAllWrittenOnes();
+ void FreeResources( TInt aI );
+ // Private variables
+
+ private: //Data
+ struct TResultsData
+ {
+ HBufC8* iMsgRef;
+ HBufC8* iCmdRef;
+ SmlResults_t* iResults;
+ TBool iWasWritten;
+ TInt iStatusRef;
+ };
+ TInt iArrayInd;
+ CArrayFixFlat<TResultsData>* iResultsArray;
+ //used classes
+ CNSmlCmdsBase* iSyncMLCmds;
+ // Reserved to maintain binary compability
+ CNSmlFutureReservation* iReserved;
+ };
+
+#endif // __NSMLRESULTSCONTAINER_H