winix/core/mounts.h

49 lines
705 B
C++
Executable File

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2009, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslucorecoremounts
#define headerfilecmslucorecoremounts
#include <map>
#include <string>
#include "mount.h"
#include "error.h"
class Mounts
{
public:
Mounts();
Error ReadMounts(const std::string & mounts);
Error ReadMounts();
void CalcCurMount();
Mount * CalcMount(long dir_id);
// current mount point
// will not be null after calling CalcCurMount() or ReadMounts([...])
Mount * pmount;
private:
// dir_id, mount_point
typedef std::map<long, Mount> MountTab;
MountTab mount_tab;
void MountCmsForRoot();
};
#endif