Index: src/libchcore/TTaskInfo.h =================================================================== diff -u -N -r9479911a096555a7504c5c8a8eaee83ecb63440c -r0c5027d5173ab0daeba6aa6b735a2b11d4cd2164 --- src/libchcore/TTaskInfo.h (.../TTaskInfo.h) (revision 9479911a096555a7504c5c8a8eaee83ecb63440c) +++ src/libchcore/TTaskInfo.h (.../TTaskInfo.h) (revision 0c5027d5173ab0daeba6aa6b735a2b11d4cd2164) @@ -25,30 +25,26 @@ #include "TPath.h" #include "TaskID.h" #include "ISerializerContainer.h" +#include "TIntrusiveSerializableItem.h" BEGIN_CHCORE_NAMESPACE class TTask; typedef boost::shared_ptr TTaskPtr; -class LIBCHCORE_API TTaskInfoEntry +class LIBCHCORE_API TTaskInfoEntry : public TIntrusiveSerializableItem { public: - enum EModificationInfo + enum ETIEntryInfo { - eMod_None = 0, - eMod_Added = 1, - eMod_TaskPath = 4, - eMod_Order = 8, + eMod_TaskPath = TIntrusiveSerializableItem::eMod_Modified, + eMod_Order = TIntrusiveSerializableItem::eMod_Modified << 1, }; public: TTaskInfoEntry(); TTaskInfoEntry(taskid_t tTaskID, const TSmartPath& pathTask, int iOrder, const TTaskPtr& spTask, int iModification = eMod_None); - taskid_t GetTaskID() const; - void SetTaskID(taskid_t tTaskID); - TSmartPath GetTaskSerializeLocation() const; void SetTaskSerializeLocation(const TSmartPath& pathTask); @@ -58,25 +54,16 @@ int GetOrder() const; void SetOrder(int iOrder); - int GetModifications() const; - void SetModification(int iModification, int iMask); - void ResetModifications(); - - bool IsAdded() const; - bool IsModified() const; - void Store(const ISerializerContainerPtr& spContainer); bool Load(const ISerializerRowReaderPtr& spRowReader); private: - taskid_t m_tTaskID; TSmartPath m_pathSerializeLocation; #pragma warning(push) #pragma warning(disable:4251) TTaskPtr m_spTask; #pragma warning(pop) int m_iOrder; - int m_iModificationType; // added/modified/not changed (wo deleted status) }; class LIBCHCORE_API TTaskInfoContainer @@ -90,6 +77,8 @@ TTaskInfoEntry& GetAt(size_t stIndex); const TTaskInfoEntry& GetAt(size_t stIndex) const; + taskid_t GetLastTaskID() const; + bool GetByTaskID(taskid_t tTaskID, TTaskInfoEntry& rInfo) const; size_t GetCount() const; @@ -104,8 +93,6 @@ void Store(const ISerializerContainerPtr& spContainer); void Load(const ISerializerContainerPtr& spContainer); - void GetDiffAndResetModifications(TTaskInfoContainer& rDiff); - void RestoreModifications(const TTaskInfoContainer& tDataDiff) throw(); void ClearModifications(); bool HasDeletions() const;