Index: src/ch/TTaskConfiguration.h =================================================================== diff -u -N -rb7709acbab26fdb108b77d3e08d3872f54248af2 -r044d0e17cdedf3055202486a2235e1a3c8dd6e56 --- src/ch/TTaskConfiguration.h (.../TTaskConfiguration.h) (revision b7709acbab26fdb108b77d3e08d3872f54248af2) +++ src/ch/TTaskConfiguration.h (.../TTaskConfiguration.h) (revision 044d0e17cdedf3055202486a2235e1a3c8dd6e56) @@ -33,8 +33,11 @@ { public: TSubTaskCommonConfig(); + TSubTaskCommonConfig(const TSubTaskCommonConfig& rSrc); ~TSubTaskCommonConfig(); + TSubTaskCommonConfig& operator=(const TSubTaskCommonConfig& rSrc); + void SetPriority(int iPriority); int GetPriority() const; @@ -45,7 +48,7 @@ bool GetIgnoreReadOnlyAttributes() const; template - void load(Archive& ar) + void load(Archive& ar, unsigned int /*uiVersion*/) { boost::unique_lock lock(m_lock); @@ -55,7 +58,7 @@ } template - void save(Archive& ar) + void save(Archive& ar, unsigned int /*uiVersion*/) const { boost::shared_lock lock(m_lock); @@ -81,21 +84,24 @@ { public: TSubTaskScanDirectoriesConfig(); + TSubTaskScanDirectoriesConfig(const TSubTaskScanDirectoriesConfig& rSrc); ~TSubTaskScanDirectoriesConfig(); + TSubTaskScanDirectoriesConfig& operator=(const TSubTaskScanDirectoriesConfig& rSrc); + // filtering rules void SetFilters(const CFiltersArray& rFilters); const CFiltersArray& GetFilters() const { return m_afFilters; } template - void load(Archive& ar) + void load(Archive& ar, unsigned int /*uiVersion*/) { boost::unique_lock lock(m_lock); ar >> m_afFilters; } template - void save(Archive& ar) + void save(Archive& ar, unsigned int /*uiVersion*/) const { boost::shared_lock lock(m_lock); ar << m_afFilters; @@ -116,8 +122,11 @@ { public: TSubTaskCopyMoveConfig(); + TSubTaskCopyMoveConfig(const TSubTaskCopyMoveConfig& rSrc); ~TSubTaskCopyMoveConfig(); + TSubTaskCopyMoveConfig& operator=(const TSubTaskCopyMoveConfig& rSrc); + void SetDisableSystemBuffering(bool bDisableBuffering); bool GetDisableSystemBuffering() const; @@ -142,6 +151,44 @@ void SetCreateOnlyDirectories(bool bCreateOnlyDirs); bool GetCreateOnlyDirectories() const; + template + void load(Archive& ar, unsigned int /*uiVersion*/) + { + boost::unique_lock lock(m_lock); + + ar & m_bDisableSystemBuffering; + ar & m_ullMinSizeToDisableBuffering; + + ar & m_bPreserveFileDateTime; + ar & m_bPreserveFileAttributes; + + ar & m_bsSizes; + + ar & m_bIgnoreDirectories; + ar & m_bCreateEmptyFiles; + ar & m_bCreateOnlyDirectories; + } + + template + void save(Archive& ar, unsigned int /*uiVersion*/) const + { + boost::shared_lock lock(m_lock); + + ar & m_bDisableSystemBuffering; + ar & m_ullMinSizeToDisableBuffering; + + ar & m_bPreserveFileDateTime; + ar & m_bPreserveFileAttributes; + + ar & m_bsSizes; + + ar & m_bIgnoreDirectories; + ar & m_bCreateEmptyFiles; + ar & m_bCreateOnlyDirectories; + } + + BOOST_SERIALIZATION_SPLIT_MEMBER(); + private: bool m_bDisableSystemBuffering; ///< Disables system buffering of files unsigned long long m_ullMinSizeToDisableBuffering; ///< Minimal file size to disable system buffering @@ -183,6 +230,15 @@ const TSubTaskCopyMoveConfig& GetCopyMoveConfig() const { return m_tCopyMoveConfig; } // const TSubTaskDeleteConfig& GetDeleteConfig() const { return m_tDeleteConfig; } + template + void serialize(Archive& ar, unsigned int /*uiVersion*/) + { + ar & m_tCommonConfig; + ar & m_tScanDirectoriesConfig; + ar & m_tCopyMoveConfig; +// ar & m_tDeleteConfig; + } + private: TSubTaskCommonConfig m_tCommonConfig; TSubTaskScanDirectoriesConfig m_tScanDirectoriesConfig;