71 lines
1.2 KiB
C
71 lines
1.2 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "types.h"
|
||
|
#include "ustring.h"
|
||
|
#include "Path.h"
|
||
|
|
||
|
class Dentry;
|
||
|
class VfsMount;
|
||
|
|
||
|
class FileSystemInfo
|
||
|
{
|
||
|
protected:
|
||
|
/**
|
||
|
* File system root
|
||
|
*/
|
||
|
Path root_;
|
||
|
|
||
|
/**
|
||
|
* Current working directory
|
||
|
*/
|
||
|
Path pwd_;
|
||
|
|
||
|
|
||
|
public:
|
||
|
FileSystemInfo();
|
||
|
~FileSystemInfo();
|
||
|
FileSystemInfo(const FileSystemInfo& fsi);
|
||
|
|
||
|
/**
|
||
|
* set the ROOT-info to the class
|
||
|
* @param root the root path to set
|
||
|
*/
|
||
|
void setRoot(const Path& path)
|
||
|
{
|
||
|
root_ = path;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* set the PWD-info to the class (PWD: print working directory)
|
||
|
* @param path the current path to set
|
||
|
*/
|
||
|
void setPwd(const Path& path)
|
||
|
{
|
||
|
pwd_ = path;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* get the ROOT-info (ROOT-directory) from the class
|
||
|
* @return the root path
|
||
|
*/
|
||
|
Path& getRoot()
|
||
|
{
|
||
|
return root_;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* get the PWD-info (PWD-directory) from the class
|
||
|
* @return the path of the current directory
|
||
|
*/
|
||
|
Path& getPwd()
|
||
|
{
|
||
|
return pwd_;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
extern FileSystemInfo* default_working_dir;
|
||
|
// you use a different getcwd() method depending on where your cpp is being compiled
|
||
|
// (it can come either from Thread.cpp or from exe2minixfs.cpp)
|
||
|
FileSystemInfo* getcwd();
|
||
|
|