fw4spl
|
Base class of contextual patches. More...
#include <ISemanticPatch.hpp>
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().
|
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.
|
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.