Index: src/libchcore/TTaskConfigTracker.h =================================================================== diff -u -N --- src/libchcore/TTaskConfigTracker.h (revision b26ced3298e3e7e51d91f3ac70b56746786da83b) +++ src/libchcore/TTaskConfigTracker.h (revision 0) @@ -1,80 +0,0 @@ -// ============================================================================ -// Copyright (C) 2001-2010 by Jozef Starosczyk -// ixen@copyhandler.com -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Library General Public License -// (version 2) as published by the Free Software Foundation; -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU Library General Public -// License along with this program; if not, write to the -// Free Software Foundation, Inc., -// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// ============================================================================ -#ifndef __TCONFIGTRACKER_H__ -#define __TCONFIGTRACKER_H__ - -#include "TTaskConfiguration.h" - -namespace chcore -{ - class LIBCHCORE_API TOptionsSet - { - public: - TOptionsSet& operator%(ETaskOptions eOption); - - std::set& Get(); - - private: -#pragma warning(push) -#pragma warning(disable: 4251) - std::set m_setOptions; -#pragma warning(pop) - }; - - class LIBCHCORE_API TTaskConfigTracker - { - public: - TTaskConfigTracker(); - TTaskConfigTracker(const TTaskConfigTracker&) = delete; - ~TTaskConfigTracker(); - - TTaskConfigTracker& operator=(const TTaskConfigTracker&) = delete; - - bool IsModified() const; - bool IsModified(ETaskOptions eOption) const; - bool IsModified(TOptionsSet setOptions) const; - bool IsModified(ETaskOptions eOption, bool bResetModificationState); - bool IsModified(TOptionsSet setOptions, bool bResetModificationState); - - void AddModified(const TString& strModified); - void AddModified(ETaskOptions eModified); - void AddModified(TOptionsSet setOptions); - void AddModified(const TStringSet& setModified); - void AddModified(const std::set& setModified); - - void RemoveModification(ETaskOptions eModified); - void RemoveModificationSet(TOptionsSet setOptions); - void RemoveModification(const TString& strModified); - void Clear(); - - static void NotificationProc(const TStringSet& setModifications, void* pParam); - - protected: - static ETaskOptions GetOptionFromString(const TString& strOption); - - protected: -#pragma warning(push) -#pragma warning(disable: 4251) - std::set m_setModified; - mutable boost::shared_mutex m_lock; -#pragma warning(pop) - }; -} - -#endif // __TCONFIGTRACKER_H__