X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOSQLiteTreeHandler.h;h=1284e169edd14fc17e138f64c74b973107533ef3;hb=852af4a5c6e97a6fc349126cf3370e27f89fe067;hp=bdf5fa729b7557671942bfd7fa0fed0b52aaa15f;hpb=f7c6131e319e426656a0b3b066b96236ee66bb3c;p=creaImageIO.git diff --git a/src2/creaImageIOSQLiteTreeHandler.h b/src2/creaImageIOSQLiteTreeHandler.h index bdf5fa7..1284e16 100644 --- a/src2/creaImageIOSQLiteTreeHandler.h +++ b/src2/creaImageIOSQLiteTreeHandler.h @@ -70,6 +70,16 @@ namespace creaImageIO virtual unsigned int GetNumberOfChildren(tree::Node* n); //==================================================================== + //==================================================================== + /// Returns the attribute requested. Useful for synchronization. + virtual void GetAttribute(std::string levelDescriptor, + std::string searchParam, + std::string searchVal, + std::string key, + std::string& result); + //==================================================================== + + //==================================================================== /// Recursively loads the children of node 'parent' until maxlevel // is reached. @@ -84,7 +94,13 @@ namespace creaImageIO // WITHOUT altering the source, e.g. the database virtual void UnLoad(tree::Node* n); ///==================================================================== - + + //==================================================================== + /// Returns the top level node id for the given search param and search value + virtual void GetTopLevelNodeId(const std::string& searchParam, + const std::string& searchValue, + std::string& parent_id); + ///==================================================================== //==================================================================== // WRITE METHODS : WORK ONLY IN WRITE MODE @@ -100,6 +116,15 @@ namespace creaImageIO virtual bool SetAttribute(tree::Node*, const std::string& key, const std::string& value); + // Sets an attribute + virtual void SetAttribute(const std::string& levelDescriptor, + const std::string& key, + const std::string& value, + const std::string& searchParam, + const std::string& searchVal); + //Deletes the tuple that matches the parameters given + virtual void DeleteTuple(std::string levelDescriptor, std::string key, std::string value); + //==================================================================== @@ -154,10 +179,35 @@ namespace creaImageIO const std::string& value); //====================================================================== //====================================================================== - + /// Sets an attribute and updates the database + void DBSetAttribute(const std::string& levelDescriptor, + const std::string& key, + const std::string& value, + const std::string& searchParam, + const std::string& searchVal); + //====================================================================== + //====================================================================== + /// Inserts the Node in the database void DBInsert(tree::Node* n); //====================================================================== + + + //====================================================================== + + /// Deletes the tuple that matches the value specified in the given key and that belongs to the given level + void DBDelete(std::string levelDescriptor, std::string key, std::string value); + //====================================================================== + + //====================================================================== + + /// Recursively Removes the nodes whose parent is given as a parameter + void DBRecursiveRemoveNode(tree::Node* node); + /// Recursively Removes the nodes found in the given level with the given parent id + void DBRecursiveRemoveNode(int level, std::string parentId); + + //====================================================================== + /* /// int DBQueryNumberOfChildren(tree::Node* n); @@ -188,9 +238,9 @@ namespace creaImageIO // UpdateSummary& summary); - // - void DBRecursiveRemoveNode(tree::Node* node); + */ + /* void BuildSQLFieldsValues(tree::Node* n, std::string& str); @@ -208,6 +258,7 @@ namespace creaImageIO bool mWritable; void SetWritable(bool w) { mWritable; } bool GetWritable() const { return mWritable; } + bool mIsAdding; /* struct TypeId