wvuing/wvuieng/EngSrc/CCASearchData.h
changeset 0 094583676ce7
--- /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