X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdbos%2Fworkdir%2Fstorage%2FDirectory.hpp;fp=example%2Fdbos%2Fworkdir%2Fstorage%2FDirectory.hpp;h=0000000000000000000000000000000000000000;hb=a3b95648bd76140ef55e0b5941d423eee6c3856f;hp=3bffdf3bda0cc1011b33a85bed94d6f23e7942b1;hpb=94fc4366adedbf26ca6ef3104f88d41fa85f5a72;p=anna.git diff --git a/example/dbos/workdir/storage/Directory.hpp b/example/dbos/workdir/storage/Directory.hpp deleted file mode 100644 index 3bffdf3..0000000 --- a/example/dbos/workdir/storage/Directory.hpp +++ /dev/null @@ -1,93 +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_Directory_hpp -#define dbos_workdir_storage_Directory_hpp - -#include -#include -#include - -namespace anna { -namespace dbms { -class Database; -class Connection; -} -namespace dbos { -class Repository; -} -} - -namespace workdir { - -namespace filesystem { -class Directory; -} - -namespace storage { - -using namespace anna; - -class Directory : public dbos::Object, public dbos::ObjectFacade { -public: - const filesystem::Directory* getFilesystemDirectory() const throw() { return a_filesystemDirectory; } - int getINode() const throw() { return a_inode; } - - std::string asString() const throw(); - - static void setup(dbos::Repository&, const int maxSize) throw(RuntimeException); - static Directory* instantiate(const filesystem::Directory*) throw(RuntimeException); - - static const char* getStorageAreaName() throw() { return "storage::Directory"; } - static const dbos::Size getMaxSize() throw() { return st_maxSize; } - -private: - class Loader : public dbos::Loader { - public: - Loader() : dbos::Loader() {;} - - Loader& setKey(const filesystem::Directory* directory) throw() { - a_filesystemDirectory = directory; - return *this; - } - - const filesystem::Directory* getDirectory() const throw() { return a_filesystemDirectory; } - int getINode() const throw() { return a_inode; } - - dbos::Index getIndex() const throw(); - std::string asString() const throw(); - - private: - const filesystem::Directory* a_filesystemDirectory; - 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); - }; - - const filesystem::Directory* a_filesystemDirectory; - int a_inode; - - static Loader* st_loader; - static ExclusiveHash st_hash; - static int st_maxSize; - - Directory() { ; } - Directory(const Directory&); - - void initialize(dbos::Loader& loader) throw(RuntimeException, dbms::DatabaseException); - void destroy() throw(); - - dbos_declare_object(Directory); -}; - -} -} - -#endif