X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fdbos%2Fworkdir%2Fstorage%2FDirectory.hpp;h=694e2c3574a7fc4ee617926b4818fbc83bb1e27f;hb=dcdc516f254a8985424e319cd9ae0ee061e58fb0;hp=88bd6452fd1a70b487322ad5cb39f52bdd37ec6b;hpb=4e12ac57e93c052f716a6305ad8fc099c45899d1;p=anna.git diff --git a/example/dbos/workdir/storage/Directory.hpp b/example/dbos/workdir/storage/Directory.hpp index 88bd645..694e2c3 100644 --- a/example/dbos/workdir/storage/Directory.hpp +++ b/example/dbos/workdir/storage/Directory.hpp @@ -42,19 +42,19 @@ #include namespace anna { - namespace dbms { - class Database; - class Connection; - } - namespace dbos { - class Repository; - } +namespace dbms { +class Database; +class Connection; +} +namespace dbos { +class Repository; +} } namespace workdir { namespace filesystem { - class Directory; +class Directory; } namespace storage { @@ -63,56 +63,56 @@ 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 (); + 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 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; } + 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; - - // No usa la base de datos => No requiere dbms::Statement - 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); + 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); }; }