sprinkler.hpp
来自「深入浅出设计模式(书配套c++源代码)。包含20个设计模式的c++实现。」· HPP 代码 · 共 40 行
HPP
40 行
#ifndef _HFDP_CPP_MEDIATOR_AUTO_HOUSE_SPRINKLER_HPP_
#define _HFDP_CPP_MEDIATOR_AUTO_HOUSE_SPRINKLER_HPP_
namespace HeadFirstDesignPatterns {
namespace Mediator {
namespace AutoHouse {class Sprinkler : public Appliance { private: void* _thread; private: unsigned long _threadId; private: unsigned long _interval; public: Sprinkler( Mediator* mediator ) : Appliance( mediator ) { assert( mediator ); _thread = 0; } public: void off() { _interval = 0; _mediator->output( "Sprinkler is off" ); } public: void on( unsigned long value ) { _interval = value; _mediator->output( "Sprinkler is on" );#if defined( WIN32 ) Sleep( _interval * 1000 );#else #error Sleep() undefined for this platform#endif onEvent(); } public: void onEvent( unsigned long value = 0 ) const { _mediator->onEvent( this, value ); }};} // namespace AutoHouse
} // namespace Mediator
} // namespace HeadFirstDesignPatterns
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?