diff -r 1a2a00e78665 -r f62f87b200ec contentstorage/cautils/inc/cainnernotifierfilter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contentstorage/cautils/inc/cainnernotifierfilter.h Fri Mar 19 09:35:23 2010 +0200 @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2008 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: ?Description + * + */ + +#ifndef CAINNERNOTIFIERFILTER_H +#define CAINNERNOTIFIERFILTER_H + +#include +#include "cadef.h" + +class CDesC16ArrayFlat; +class RWriteStream; +class RReadStream; + +/** + * Class represents Notifier filter + */ +NONSHARABLE_CLASS( CCaInnerNotifierFilter ): public CBase + { +public: + + enum TNotifierType + { + EEntryChangedWithId = 0, + EEntryChangedWithEntry, + EEntryTouched, + EGroupContentChanged + }; + + /** + * Destructor. + */ + virtual ~CCaInnerNotifierFilter(); + + /** + * Two-phased constructor. + * @param aInnerNotifierType inner type of notifier. + * @return The created object. + */ + IMPORT_C static CCaInnerNotifierFilter* NewL( + TNotifierType aInnerNotifierType ); + + /** + * Two-phased constructor. + * @param aInnerNotifierType inner type of notifier. + * @return The created object. + */ + IMPORT_C static CCaInnerNotifierFilter* NewLC( + TNotifierType aInnerNotifierType ); + + /** + * + */ + IMPORT_C TInt GetParentId() const; + /** + * + */ + IMPORT_C void SetParentId( TInt aParentId ); + /** + * + */ + IMPORT_C RArray GetIds() const; + /** + * + */ + IMPORT_C void SetIdsL( const RArray& aIds ); + /** + * + */ + IMPORT_C TEntryRole GetEntryRole() const; + /** + * + */ + IMPORT_C void SetEntryRole( TEntryRole aEntryRole ); + /** + * + */ + IMPORT_C CDesC16ArrayFlat* GetTypeNames() const; + /** + * + */ + IMPORT_C void SetTypeNames( CDesC16ArrayFlat * aTypeNames ); + /** + * + */ + IMPORT_C TNotifierType GetNotifierType() const; + + /** + * + */ + IMPORT_C void ExternalizeL( RWriteStream& aStream ) const; + + /** + * + */ + IMPORT_C void InternalizeL( RReadStream& aStream ); + +private: + + /** + * Second phased constructor. + */ + void ConstructL(); + + /** + * Constructor + */ + CCaInnerNotifierFilter( TNotifierType aInnerNotifierType ); + +private: + + /** + * Unique identifier of parent. Own + */ + TInt iParentId; + /** + * Unique identifier of entries. Own + */ + RArray iIds; + /** + * + */ + TEntryRole iEntryRole; + /** + * Own + */ + CDesC16ArrayFlat* iTypeNames; + /** + * Notifier command + */ + TNotifierType iNotifierType; + + }; + +#endif // CAINNERNOTIFIERFILTER_H