// Share // // Douglas Thrift // // $Id$ #include #include #include "Share.hpp" Share::Share(const _H& connection, const ext::String& host, const ext::String& share) : connection(connection), host(host), share(share) { api::Path shares(api::RealPath(_B("Shares"))); if (!shares.Exists()) api::Posix::CheckError(::mkdir(shares.GetPath().NullTerminate(), 0755)); api::Path host_(shares.GetChild(host)); if (!host_.Exists()) api::Posix::CheckError(::mkdir(host_.GetPath().NullTerminate(), 0755)); path = host_.GetChild(share); if (!path.Exists()) api::Posix::CheckError(::mkdir(path.GetPath().NullTerminate(), 0755)); } void Share::Mount() const { api::Cout << "MOUNT: //" << host << "/" << share << " TO " << path.GetPath() << ios::NewLine; // XXX: implement } void Share::Unmount() const { connection->Parse(_B("UPDATE files SET live = FALSE WHERE root = ?"))->Execute(path.GetPath()); api::Cout << "UNMOUNT: //" << path.GetPath() << ios::NewLine; // XXX: implement }