12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*##############################################################################
- HPCC SYSTEMS software Copyright (C) 2015 HPCC Systems®.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ############################################################################## */
- #ifndef _CONFIG_FILE_UTILS_OBSERVALBE_HPP_
- #define _CONFIG_FILE_UTILS_OBSERVALBE_HPP_
- #include "jlib.hpp"
- #include "jqueue.tpp"
- #include "jmutex.hpp"
- #include "ConfigFileUtilsObserver.ipp"
- namespace CONFIGURATOR
- {
- class CConfigFileUtilsObservable : public CInterface, implements IObservable
- {
- public:
- IMPLEMENT_IINTERFACE
- virtual void addObserver(IConfigFileUtilsObserver& observer);
- virtual void removeObserver(IConfigFileUtilsObserver& observer);
- void enableNotifications(bool bEnable)
- {
- m_bEnableNotifications = bEnable;
- }
- bool getNotificationsEnabled() const
- {
- return m_bEnableNotifications;
- }
- protected:
- virtual void notify( enum IConfigFileUtilsObserver::CF_EVENT_TYPES eventType);
- private:
- ::QueueOf<IConfigFileUtilsObserver,false> m_qObservers;
- ::CriticalSection m_critsecObserverQueue;
- bool m_bEnableNotifications;
- };
- }
- #endif // _CONFIG_FILE_UTILS_OBSERVALBE_HPP_
|