diff -r 000000000000 -r c53acadfccc6 harvester/blacklistclient/inc/blacklistclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/harvester/blacklistclient/inc/blacklistclient.h Mon Jan 18 20:34:07 2010 +0200 @@ -0,0 +1,163 @@ +/* +* Copyright (c) 2009 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: +* +*/ +#ifndef _RBLACKLISTCLIENT_H_ +#define _RBLACKLISTCLIENT_H_ + +// SYSTEM INCLUDE +#include +#include +#include + +// FORWARD DECLERATIONS +class CBlacklistItem; + +/*! + @class RBlacklistClient + @discussion An instance of the RBlacklistClient object + */ +NONSHARABLE_CLASS( RBlacklistClient ) : public RSessionBase + { + public: + /*! + @function RBlacklistClient + @discussion standard C++ constructor + */ + IMPORT_C RBlacklistClient(); + + /*! + @function ~RBlacklistClient + @discussion Destroy the object and release all memory objects + */ + IMPORT_C ~RBlacklistClient(); + + public: // Exported public functions + + /*! + @function Connect + @discussion Create connection to server + @result KErrNone if connected succesfully + */ + IMPORT_C TInt Connect(); + + /*! + @function IsBlacklistedL + @discussion Destroy the object and release all memory objects. + @result ETrue if object is blaklisted, EFalse otherwise. + @param aUri - object uri. + @param aMediaId - drive id where object is located (E,C ...). + @param aLastModifiedTime - time when object is modified. + */ + IMPORT_C TBool IsBlacklistedL( const TDesC& aUri, TUint32 aMediaId, TTime aLastModifiedTime ); + + /*! + @function AddL + @discussion Add object to blacklist. + @param aUri - object uri. + @param aMediaId - drive id where object is located (E,C ...). + @param aLastModifiedTime - time when object is modified. + */ + IMPORT_C void AddL( const TDesC& aUri, TUint32 aMediaId, TTime aLastModifiedTime ) const; + + /*! + @function RemoveL + @discussion Remove object from blacklist. + */ + IMPORT_C void RemoveL( const TDesC& aUri, TUint32 aMediaId ) const; + + /*! + @function LoadBlacklistL + @discussion Load blacklist from server. + */ + IMPORT_C void LoadBlacklistL(); + + /*! + @function CloseDBL + @discussion Closes server database. + */ + IMPORT_C void CloseDBL(); + + private: // private functions + + /*! + @function Version + @discussion Returns version + @result TVersion - Returns version of the server. + */ + TVersion Version() const; + + /*! + @function DoLoadBlacklistL + @discussion sends request load blacklist to server. + @param aHandle memory handle, used to create memory chunk. + */ + void DoLoadBlacklistL( TInt& aHandle ) const; + + /*! + @function AddToMemoryTableL + @discussion Add object to client list (not actually a memory table). + @param aLastModifiedTime - time when object is modified. + @param aUri - object uri. + @param aMediaId - drive id where object is located (E,C ...). + */ + void AddToMemoryTableL( const TInt64& aModified, const TDesC& aUri, + const TUint32 aMediaId ); + + /*! + @function RemoveFromMemoryTableL + @discussion Remove object from client list (not actually a memory table). + @param aUri - object uri. + @param aMediaId - drive id where object is located (E,C ...). + */ + void RemoveFromMemoryTableL( const TDesC& aUri, const TUint32 aMediaId ); + + /*! + @function GetListIndex NOTE: WRONG NAMING NOT BASED S60 CODING CONVENTIONS!!! + @discussion Returns list index. + */ + TInt GetListIndex( const TDesC& aUri, TUint32 aMediaId ); + + /*! + @function RemoveFromDBL + @discussion removes object from server's database. + @param aUri - object uri. + @param aMediaId - drive id where object is located (E,C ...). + */ + void RemoveFromDBL( const TDesC& aUri, TUint32 aMediaId ) const; + + /*! + @function StartServer + @discussion starts server. + @result KErrNone if succesfully created. + */ + TInt StartServer(); + + private: // private data + + /*! @var iSessionOk flag to indicate if session is ok or not.*/ + TBool iSessionOk; + + /*! @var iBlacklistChunk used to create global memory area.*/ + RChunk iBlacklistChunk; + + /*! @var iBlacklistMemoryTable used to keep blacklisted items.*/ + RPointerArray iBlacklistMemoryTable; + + }; + +#endif // _RBLACKLISTCLIENT_H_ + +