--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuieng/EngSrc/CCASearchData.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,162 @@
+/*
+* Copyright (c) 2002-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: Represents the searched data
+*
+*/
+
+
+#ifndef CCASEARCHDATA_H
+#define CCASEARCHDATA_H
+
+// INCLUDES
+#include "MCASearchData.h"
+
+#include <e32base.h>
+#include <badesca.h>
+
+// CLASS DECLARATION
+
+/**
+* This class represents the searched data.
+*
+*
+* @lib CAEngine.lib
+* @since 1.2
+*/
+class CCASearchData : public CBase,
+ public MCASearchData
+ {
+ public: // Constructors and destructor
+
+
+ /**
+ * Two-phased constructor.
+ */
+ static CCASearchData* NewL();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCASearchData();
+
+ public: // Functions derived from MCASearchData
+
+ /**
+ * From MCASearchData.
+ * @see MCASearchData::NoMoreResultsAvailable.
+ */
+ IMPORT_C TBool NoMoreResultsAvailable() const;
+
+ /**
+ * From MCASearchData.
+ * @see MCASearchData::SearchResultType.
+ */
+ IMPORT_C TImpsSearchResultType SearchResultType() const;
+
+ /**
+ * From MCASearchData.
+ * @see MCASearchData::SearchData.
+ */
+ IMPORT_C TPtrC SearchData( TInt aIndex ) const;
+
+ /**
+ * From MCASearchData.
+ * @see MCASearchData::SearchDataCount.
+ */
+ IMPORT_C TInt SearchDataCount() const;
+
+ /**
+ * From MCASearchData.
+ * @see MCASearchData::HowManyResultsAvailable.
+ */
+ IMPORT_C TInt HowManyResultsAvailable() const;
+
+
+ public: // New functions
+
+ /**
+ * Needed in search continue. This is the next index to the server.
+ * @return Next search index.
+ */
+ TInt NextSearchIndex() const;
+
+ /**
+ * Updates the searched data.
+ * @param aIndex specifies the next search index.
+ * @param aCompleted ETrue if no more results is available and
+ * EFalse if available.
+ * @param aType is the type of the results
+ * @param aResults are the results.
+ * @param aSearchLimit is the amount of data observer wants.
+ */
+ void UpdateDataL( TInt aIndex,
+ TBool aCompleted,
+ TImpsSearchResultType aType,
+ MDesCArray* aResults,
+ TInt aSearchLimit );
+
+ /**
+ * Empties all the search information.
+ * Used in stopping search.
+ */
+ void ClearResults();
+
+ /**
+ * Used search next. No need to initiate web transactions if
+ * we already have the data.
+ * @param aNextIndex is the next place to search.
+ * @return ETrue if we have and EFalse if we do not have.
+ */
+ TBool WeHaveData( TInt aNextIndex ) const;
+
+ /**
+ * Updates the maximum available results.
+ * @param aMaxResults is the new available results.
+ */
+ void UpdateMaximumPossibleResults( TInt aMaxResults );
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CCASearchData();
+
+
+ /**
+ * By default Symbian OS constructor is private.
+ */
+ void ConstructL();
+
+ private: // Data
+
+ // Is the search completed or is there more data
+ TBool iCompleted;
+
+ // Owns: Search result array
+ CDesCArrayFlat* iResults;
+
+ // Index from the next search can start in the server side
+ TInt iServerNextIndex;
+
+ //result type of the search
+ TImpsSearchResultType iSearchResultType;
+
+ // The amount of results that subsequent searches can retrieve.
+ TInt iMaximumResultsAvailable;
+ };
+
+#endif // CCASEARCHDATA_H
+
+// End of File