X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdbos%2Fworkdir%2Fstorage%2FFile.hpp;fp=example%2Fdbos%2Fworkdir%2Fstorage%2FFile.hpp;h=0000000000000000000000000000000000000000;hb=a3b95648bd76140ef55e0b5941d423eee6c3856f;hp=51d42937340cc4cb95cbdeb540f7c64ee7844fe8;hpb=94fc4366adedbf26ca6ef3104f88d41fa85f5a72;p=anna.git diff --git a/example/dbos/workdir/storage/File.hpp b/example/dbos/workdir/storage/File.hpp deleted file mode 100644 index 51d4293..0000000 --- a/example/dbos/workdir/storage/File.hpp +++ /dev/null @@ -1,97 +0,0 @@ -// ANNA - Anna is Not Nothingness Anymore // -// // -// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // -// // -// See project site at http://redmine.teslayout.com/projects/anna-suite // -// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // - - -#ifndef dbos_workdir_storage_File_hpp -#define dbos_workdir_storage_File_hpp - -#include -#include -#include - -namespace anna { -namespace dbms { -class Database; -class Connection; -} -namespace dbos { -class Repository; -} -} - -namespace workdir { - -namespace filesystem { -class File; -} - -namespace storage { - -class Directory; - -using namespace anna; - -class File : public dbos::Object, public dbos::ObjectFacade { -public: - const Directory* getParent() const throw() { return a_parent; } - const filesystem::File* getFilesystemFile() const throw() { return a_filesystemFile; } - int getINode() const throw() { return a_inode; } - - std::string asString() const throw(); - - static void setup(dbos::Repository&, const int maxSize) throw(RuntimeException); - static File* instantiate(const filesystem::File*) throw(RuntimeException); - - static const char* getStorageAreaName() throw() { return "storage::File"; } - static const dbos::Size getMaxSize() throw() { return st_maxSize; } - -private: - class Loader : public dbos::Loader { - public: - Loader() : dbos::Loader() {;} - - Loader& setKey(const filesystem::File* file) throw() { - a_filesystemFile = file; - return *this; - } - - const filesystem::File* getFile() const throw() { return a_filesystemFile; } - int getINode() const throw() { return a_inode; } - - dbos::Index getIndex() const throw(); - std::string asString() const throw(); - - private: - const filesystem::File* a_filesystemFile; - int a_inode; - - // dbms::Statement is not required - dbms::Statement* initialize(dbms::Database&) throw(RuntimeException) { return NULL; } - bool load(dbms::Connection*, const dbos::StorageArea*) throw(RuntimeException); - }; - - Directory* a_parent; - const filesystem::File* a_filesystemFile; - int a_inode; - - static Loader* st_loader; - static ExclusiveHash st_hash; - static int st_maxSize; - - File() : a_parent(NULL) { ; } - File(const File&); - - void initialize(dbos::Loader& loader) throw(RuntimeException, dbms::DatabaseException); - void destroy() throw(); - - dbos_declare_object(File); -}; - -} -} - -#endif