From 07ee34692c8b03a48c471f326eb7cb2c13ec8198 Mon Sep 17 00:00:00 2001 From: mjjo Date: Thu, 22 Aug 2013 04:27:21 +0000 Subject: [PATCH] --- EventHandler.cpp | 17 +++++++++++++++++ EventHandler.h | 31 +++++++++++++++++++++++++++++++ OptionEventHandler.cpp | 24 ++++++++++++++++++++++++ OptionEventHandler.h | 24 ++++++++++++++++++++++++ Trader.cpp | 19 +++++++++++++++++++ Trader.h | 19 +++++++++++++++++++ 6 files changed, 134 insertions(+) create mode 100644 EventHandler.cpp create mode 100644 EventHandler.h create mode 100644 OptionEventHandler.cpp create mode 100644 OptionEventHandler.h create mode 100644 Trader.cpp create mode 100644 Trader.h diff --git a/EventHandler.cpp b/EventHandler.cpp new file mode 100644 index 0000000..2fa180e --- /dev/null +++ b/EventHandler.cpp @@ -0,0 +1,17 @@ +// EventHandler.cpp + +#include "stdafx.h" +#include "EventHandler.h" + +void CEventHandler::SetIEventHandler(IEventHandler* pIEventHandler) +{ + m_pIEventHandler = pIEventHandler; +} + +void __stdcall CEventHandler::Received() +{ + ASSERT(NULL != m_pIEventHandler); + + m_pIEventHandler->Received(); +} + diff --git a/EventHandler.h b/EventHandler.h new file mode 100644 index 0000000..e3c8174 --- /dev/null +++ b/EventHandler.h @@ -0,0 +1,31 @@ +// CEventHandler.h + +#ifndef __EVNET_HANDLER_H__ +#define __EVNET_HANDLER_H__ + +#include +#include + +class IEventHandler +{ +public: + virtual void Received() = 0; +}; + + +class CEventHandler : public IDispEventImpl<0, CEventHandler, &DIID__ISysDibEvents, &LIBID_CPSYSDIBLib, 1, 0> +{ +public: + void SetIEventHandler(IEventHandler* pIEventHandler); + + void __stdcall Received(); + + BEGIN_SINK_MAP(CEventHandler) + SINK_ENTRY_EX(0, DIID__ISysDibEvents, 1, Received) + END_SINK_MAP() + +protected: + IEventHandler* m_pIEventHandler; +}; + +#endif /* __EVNET_HANDLER_H__ */ diff --git a/OptionEventHandler.cpp b/OptionEventHandler.cpp new file mode 100644 index 0000000..8e98c7a --- /dev/null +++ b/OptionEventHandler.cpp @@ -0,0 +1,24 @@ +#include "stdafx.h" +#include "OptionEventHandler.h" + + +COptionEventHandler::COptionEventHandler() +{ + m_pTrader = NULL; +} + +COptionEventHandler::~COptionEventHandler() +{ + +} + +const BOOL COptionEventHandler::IsConditionOK(void) const +{ + return FALSE; +} + +void COptionEventHandler::Received() +{ + if(IsConditionOK() == TRUE) + m_pTrader->StartTrading(); +} \ No newline at end of file diff --git a/OptionEventHandler.h b/OptionEventHandler.h new file mode 100644 index 0000000..de45885 --- /dev/null +++ b/OptionEventHandler.h @@ -0,0 +1,24 @@ +#ifndef __OPTION_EVENT_HANDLER__ +#define __OPTION_EVENT_HANDLER__ + +#include "EventHandler.h" +#include "Trader.h" + +class COptionEventHandler : public IEventHandler +{ +public: + COptionEventHandler(); + ~COptionEventHandler(); + + void SetTrader(CTrader* pTrader) { m_pTrader = pTrader; }; + + virtual void Received(); + +private: + const BOOL IsConditionOK(void) const; + + CTrader* m_pTrader; + +}; + +#endif \ No newline at end of file diff --git a/Trader.cpp b/Trader.cpp new file mode 100644 index 0000000..34e06b2 --- /dev/null +++ b/Trader.cpp @@ -0,0 +1,19 @@ +#include "stdafx.h" +#include "Trader.h" + +CTrader::CTrader() +{ +} + +CTrader::~CTrader() +{ +} + +const BOOL CTrader::IsTrading(void) const +{ + return FALSE; +} + +void CTrader::StartTrading(void) +{ +} diff --git a/Trader.h b/Trader.h new file mode 100644 index 0000000..c2459ee --- /dev/null +++ b/Trader.h @@ -0,0 +1,19 @@ +#ifndef __TRADER__ +#define __TRADER__ + +// ÁÖ¹®°ú Ãë¼Ò¸¦ Àü´ãÇϴ Ŭ·¡½º + +class CTrader +{ +public: + CTrader(); + ~CTrader(); + + const BOOL IsTrading(void) const; + void StartTrading(void); + +private: + +}; + +#endif __TRADER__