Subversion Repositories spk

Rev

Rev 1 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifndef __DIRIO_H__
#define __DIRIO_H__

#include "StringList.h"
#include "spkdll.h"

class CFileIO;

class SPKEXPORT CDirIO
{
public:
        CDirIO ();
        CDirIO ( CyString dir );
        CDirIO ( CFileIO *file );
        ~CDirIO ();

        void SetDir(CyString dir);

        // access functions
        bool Exists(CyString dir = NullString);
        bool IsDir(CyString dir = NullString);
        bool IsFile(CyString dir = NullString);

        // directory handling
        bool Create(CyString dir = NullString);
        bool CreateAndChange(CyString dir);

        bool Move(CyString from, CyString to);
        bool RemoveDir(CyString dir, bool doFiles = false, bool recursive = false, CyStringList *errors = NULL);
        bool cd(CyString dir);

        CyStringList *DirList(CyString dir = NullString, CyString filepattern = NullString);
        bool CheckEmptyDir(CyStringList *dirList);

        CyString File(CyString filename);
        CyString Dir(CyString dir = NullString);
        CyString TopDir();
        CyString Back();

private:
        CyString ParseDir(CyString dir);

        CyString m_sCurrentDir;
};

#endif //__DIRIO_H__