Got rid of some trivial warnings (nested comments and tokens after #endif).
/*
* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "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: It filter the media items as per the filter value sets
*
*/
#ifndef __CMGPOSTFILTER_H
#define __CMGPOSTFILTER_H
#include <MCLFPostFilter.h>
#include <e32base.h>
// CLASS DECLARATION
/**
* PostFilter class for Media Management.It filters the media items as per the
* filter values set
*
* @since Series60 v3.2
*/
NONSHARABLE_CLASS( CPostFilter ) : public CBase ,public MCLFPostFilter
{
public:
/**
* Returns the instance of CPostFilter.
* @since Series60 v3.2
* @param void
* @return CPostFilter* return the instance of CPostFilter class
*/
static CPostFilter* NewL();
/**
* Destructor.
*/
virtual ~CPostFilter();
/**
* Method to filter item list. This method is called when
* the filtering process is executed by list model refresh.
* @since Series60 v3.2
* @param aItemList Source list, contains all items that are in
* the list model
* @param aFilteredItemList Filtered/destination list, contains all items
* that will be in the list model after filtering.
* @return void
*/
virtual void FilterItemsL( const TArray<MCLFItem*>& aItemList,
RPointerArray<MCLFItem>& aFilteredItemList );
/**
* This function will set the metadata on which the FilterItemsL function
* will filter the items in the list model.
* @since Series60 v3.2
* @param aMetaDataId Id of filter criteria as per CLF framework
* @param aMetaDataType Datatype of the above Id
* @return void
*/
void SetFilterMetaData(const TCLFDefaultFieldId& aMetaDataId,
const TCLFItemDataType& aMetaDataType);
/**
* This Function will set the filter values of the metadata given
* in SetFilterMetaData function
* Leave with KErrArgument if any arguments are out of range
* @since Series60 v3.2
* @param aStartVal Start Value for filter criteria
* (i.e FilterCriteria >= aStartVal)
* @param aEndVal End Value for filter criteria
* (i.e FilterCriteria < aEndVal)
*/
void SetFilterValueL(const TDesC& aStartVal,const TDesC& aEndVal);
/**
* It will clear filter metadata field.
* @since Series60 v3.2
* @param void
* @return void
*/
void Clear();
private:
/**
* Constructor
* @since Series60 v3.2
* @param void
* @return void
*/
CPostFilter();
/**
* This function will check if the given aItem matches with the set
* filtered values or not.
* @since Series60 v3.2
* @param aItem media item
* @return -1 If aItem does not match with the set filter values ,0 If it match.
*/
TInt CompareItem(MCLFItem* aItem);
private:
/**
* Contains the meta data on which filteration will be performed.
*/
TCLFDefaultFieldId iFilterMetaData;
/**
* Contains the data type of meta data
*/
TCLFItemDataType iFilterDataType;
/**
* Value of Filter MetaData.
*/
HBufC* iFilterVal;
/**
* Starting Value of Filter MetaData if its DataType is Time.
*/
TTime iStartTime;
/**
* Ending Value of Filter MetaData if its DataType is Time.
*/
TTime iEndTime;
/**
* Starting Value of Filter MetaData if its DataType is Integer.
*/
TInt32 iStartIntVal;
/**
* Ending Value of Filter MetaData if its DataType is Integer.
*/
TInt32 iEndIntVal;
};
#endif // __CMGPOSTFILTER_H