|
fw4spl
|
Base class of contextual patches. More...
#include <ISemanticPatch.hpp>
Inheritance diagram for fwAtomsPatch::ISemanticPatch:
Collaboration diagram for fwAtomsPatch::ISemanticPatch:Classes | |
| struct | Context |
| Struct used to store a context and the versions where the patch can be applied. More... | |
Public Member Functions | |
| virtual bool | isA (const std::string &type) const override |
| FWATOMSPATCH_API | ISemanticPatch () |
| Constructor. | |
| FWATOMSPATCH_API | ISemanticPatch (const ISemanticPatch &cpy) |
| Copy constructor. | |
| virtual FWATOMSPATCH_API | ~ISemanticPatch () |
| Destructor. | |
| virtual FWATOMSPATCH_API void | apply (const std::shared_ptr< ::fwAtoms::Object > &previous, const std::shared_ptr< ::fwAtoms::Object > ¤t,::fwAtomsPatch::IPatch::NewVersionsType &newVersions) override |
| Applies modifications between given objects. More... | |
| virtual FWATOMSPATCH_API bool | isApplicable (const std::string &context, const std::string &originVersion, const std::string &targetVersion) const |
| Returns true if patch is applicable into the context from origin to target versions. More... | |
Public Member Functions inherited from fwAtomsPatch::IPatch | |
| FWATOMSPATCH_API | IPatch () |
| Constructor. Does nothing. | |
| FWATOMSPATCH_API | IPatch (const IPatch &cpy) |
| Copy constructor. | |
| virtual FWATOMSPATCH_API | ~IPatch () |
| Destructor. Does nothing. | |
| virtual FWATOMSPATCH_API void | apply (const ::fwAtoms::Object::sptr &previous, const ::fwAtoms::Object::sptr ¤t,::fwAtomsPatch::IPatch::NewVersionsType &newVersions)=0 |
| Applies the patch to the specified object. | |
| virtual FWATOMSPATCH_API const std::string & | getOriginClassname () const |
| Returns the origin classname of the object. | |
| virtual FWATOMSPATCH_API const std::string & | getOriginVersion () const |
| Returns the origin version of the object. | |
Public Member Functions inherited from fwCore::BaseObject | |
Static Public Member Functions | |
| static bool | isTypeOf (const std::string &type) |
Static Public Member Functions inherited from fwAtomsPatch::IPatch | |
| static bool | isTypeOf (const std::string &type) |
| static const std::string & | leafClassname () |
| return object's classname without its namespace, i.e. BaseObject | |
| static const std::string & | classname () |
| return object's classname without its namespace, i.e. BaseObject | |
Static Public Member Functions inherited from fwCore::BaseObject | |
| static bool | isTypeOf (const std::string &type) |
| static const std::string & | leafClassname () |
| return object's classname without its namespace, i.e. BaseObject | |
| static const std::string & | classname () |
| return object's classname without its namespace, i.e. BaseObject | |
Protected Types | |
Typedefs | |
| typedef std::vector< Context > | ContextVectorType |
Protected Member Functions | |
| virtual FWATOMSPATCH_API void | addContext (const std::string &context, const std::string &originVersion, const std::string &targetVersion) |
| Add a context where the patch can be applied. More... | |
Protected Attributes | |
| mutable::fwCore::mt::ReadWriteMutex | m_mutex |
| Mutex to protect concurrent access for m_contexts. | |
| ContextVectorType | m_contexts |
| Vector used to store the contexts where the patch can be applied. | |
Protected Attributes inherited from fwAtomsPatch::IPatch | |
| std::string | m_originClassname |
| Origin classname of the object. | |
| std::string | m_originVersion |
| Origin version of the object. | |
Demangling methods | |
| virtual const std::string & | getLeafClassname () const override |
| return object's classname without its namespace, i.e. BaseObject | |
| virtual const std::string & | getClassname () const override |
| return full object's classname with its namespace, i.e. fwCore::BaseObject | |
| static const std::string & | leafClassname () |
| return object's classname without its namespace, i.e. BaseObject | |
| static const std::string & | classname () |
| return object's classname without its namespace, i.e. BaseObject | |
Additional Inherited Members | |
Public Types inherited from fwAtomsPatch::IPatch | |
| typedef std::map< ::fwAtoms::Object::sptr,::fwAtoms::Object::sptr > | NewVersionsType |
Base class of contextual patches.
Definition at line 30 of file ISemanticPatch.hpp.
|
protectedvirtual |
Add a context where the patch can be applied.
Definition at line 36 of file ISemanticPatch.cpp.
References m_contexts, and m_mutex.
Referenced by fwMDSemanticPatch::V1::V2::fwData::Acquisition::Acquisition(), fwMDSemanticPatch::V1::V2::fwData::Composite::Composite(), fwMDSemanticPatch::V10::V09ALA::fwData::Image::Image(), fwMDSemanticPatch::V2::V03AGO::fwData::Image::Image(), fwMDSemanticPatch::V09ALA::V10::fwData::Image::Image(), fwMDSemanticPatch::V1::V2::fwData::Patient::Patient(), and fwMDSemanticPatch::V1::V2::fwData::Study::Study().
Here is the caller graph for this function:
|
overridevirtual |
Applies modifications between given objects.
| previous | object from which modifications will be applied |
| current | object receiving modifications |
| newVersions | map containing already patched sub objects |
Definition at line 58 of file ISemanticPatch.cpp.
References fwAtomsPatch::helper::getClassname(), fwAtomsPatch::helper::getVersion(), fwAtomsPatch::IPatch::m_originClassname, fwAtomsPatch::IPatch::m_originVersion, and OSLM_ASSERT.
Here is the call graph for this function:
|
virtual |
Returns true if patch is applicable into the context from origin to target versions.
Definition at line 46 of file ISemanticPatch.cpp.
References m_contexts, and m_mutex.