#ifndef DATABASE_FILE_TYPES_HPP #define DATABASE_FILE_TYPES_HPP #include #include #include #include #include #include "VideoTypes.hpp" namespace Database { class Path { public: typedef Wt::Dbo::ptr pointer; Path(); Path(boost::filesystem::path p); // utility static pointer create(Wt::Dbo::Session& session, boost::filesystem::path p); static pointer create(Wt::Dbo::Session& session, boost::filesystem::path p, Path::pointer parent); static pointer getByPath(Wt::Dbo::Session& session, boost::filesystem::path p); static std::vector< pointer > getRoots(Wt::Dbo::Session& session); // get root pathes (no parent!) // Modifiers void addChild( pointer child ); void setLastWriteTime(boost::posix_time::ptime time) { _fileLastWrite = time; } void setChecksum(const std::vector& checksum) { _fileChecksum = checksum; } void setCreationTime(const boost::posix_time::ptime& time) { _creationTime = time; } // Accessors std::string getFileName(void) const; boost::filesystem::path getPath(void) const {return boost::filesystem::path(_filePath);} bool isDirectory() const {return _isDirectory;} std::vector< pointer > getChilds() const; pointer getParent() const; boost::posix_time::ptime getLastWriteTime(void) const { return _fileLastWrite; } const std::vector& getChecksum(void) const { return _fileChecksum; } Wt::Dbo::ptr