This commit is contained in:
2013-08-22 04:27:21 +00:00
parent 05d671a6d9
commit 07ee34692c
6 changed files with 134 additions and 0 deletions

17
EventHandler.cpp Normal file
View File

@@ -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();
}

31
EventHandler.h Normal file
View File

@@ -0,0 +1,31 @@
// CEventHandler.h
#ifndef __EVNET_HANDLER_H__
#define __EVNET_HANDLER_H__
#include <atlbase.h>
#include <atlcom.h>
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__ */

24
OptionEventHandler.cpp Normal file
View File

@@ -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();
}

24
OptionEventHandler.h Normal file
View File

@@ -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

19
Trader.cpp Normal file
View File

@@ -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)
{
}

19
Trader.h Normal file
View File

@@ -0,0 +1,19 @@
#ifndef __TRADER__
#define __TRADER__
// 주문과 취소를 전담하는 클래스
class CTrader
{
public:
CTrader();
~CTrader();
const BOOL IsTrading(void) const;
void StartTrading(void);
private:
};
#endif __TRADER__