diff -r 000000000000 -r 094583676ce7 wvuing/wvuieng/EngSrc/CCASearchData.h --- /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 +#include + +// 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