7 #ifndef __FWATOMSPATCH_IPATCH_HPP__ 8 #define __FWATOMSPATCH_IPATCH_HPP__ 13 #include <fwCore/base.hpp> 14 #include <fwAtoms/Object.hpp> 15 #include <fwAtomsPatch/helper/Object.hpp> 17 #include "fwAtomsPatch/config.hpp" 37 typedef std::map< ::fwAtoms::Object::sptr, ::fwAtoms::Object::sptr > NewVersionsType;
47 FWATOMSPATCH_API
virtual ~
IPatch();
50 FWATOMSPATCH_API
virtual void apply(const ::fwAtoms::Object::sptr& previous,
51 const ::fwAtoms::Object::sptr& current,
52 ::fwAtomsPatch::IPatch::NewVersionsType& newVersions) = 0;
55 FWATOMSPATCH_API
virtual const std::string& getOriginClassname()
const;
58 FWATOMSPATCH_API
virtual const std::string& getOriginVersion()
const;
#define fwCoreNonInstanciableClassDefinitionsMacro(_classinfo_)
Generate common code for Non Instanciable classes (Interfaces, Abstract classes, ...)
Base class for all FW4SPL's classes.
Contains base functionalities used to transform objects from a version to another.
std::string m_originClassname
Origin classname of the object.
std::string m_originVersion
Origin version of the object.
#define fwCoreAllowSharedFromThis()
Generate getSptr and getConstSptr methods.
Base class of all patches.