//
// C++ Interface: clearcasefileinfoprovider
//
// Description:
//
//
// Author: KDevelop Authors <kdevelop-devel@kdevelop.org>, (C) 2005
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef CLEARCASEFILEINFOPROVIDER_H
#define CLEARCASEFILEINFOPROVIDER_H

#include "clearcasepart.h"
#include "clearcasemanipulator.h"


/**
@author KDevelop Authors
*/
class ClearcaseFileinfoProvider : public KDevVCSFileInfoProvider
{
  TQ_OBJECT
  
public:
    ClearcaseFileinfoProvider(ClearcasePart *parent);

    virtual ~ClearcaseFileinfoProvider();

    // -- Sync interface
    const VCSFileInfoMap *status( const TQString &dirPath ) ;

    // -- Async interface for requesting data
    bool requestStatus( const TQString &dirPath, void *callerData, bool recursive = true, bool checkRepos = true );


private:

    TQStringList registeredEntryList() const;


private:
    ClearcaseManipulator ccManipulator_;
    TQString curDirPath_;
    VCSFileInfoMap* vcsInfo_;
    ClearcasePart* kdevVCS_;

};

#endif
