/* * 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 #include #include "mount.h" #include "error.h" #include "dirs.h" #include "db.h" #include "request.h" class Mounts { public: void SetDirs(Dirs * pdirs); void SetDb(Db * pdb); void SetRequest(Request * prequest); // dir_id, mount_point typedef std::map MountTab; 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; const MountTab * GetMountTab(); private: Dirs * dirs; Db * db; Request * request; MountTab mount_tab; void MountCmsForRoot(); }; #endif