1 /*---------------------------------------------------------------------------* 2 Project: HIO2 demos - dual 3 File: dual.h 4 5 (C)2005 HUDSON SOFT 6 7 $Header: /home/cvsroot/SDK/build/demos/hio2demo/vc++/dual/dual.h,v 1.3 2006/03/15 06:31:26 mitu Exp $ 8 9 $NoKeywords: $ 10 *---------------------------------------------------------------------------*/ 11 12 // dual.h : main header file for the dual application 13 // 14 #pragma once 15 16 #ifndef __AFXWIN_H__ 17 #error include 'stdafx.h' before including this file for PCH 18 #endif 19 20 #include "resource.h" // main symbols 21 22 //#define PROTOCOL_USED 23 24 ////////// for dualApp ////////// 25 #include "Hio2IfHost.h" 26 #include "../../include/dual.h" 27 28 // CDualApp: 29 // See dual.cpp for the implementation of this class 30 // 31 32 class CDualApp : public CWinApp 33 { 34 ////////// for dualApp ////////// 35 public: 36 typedef enum 37 { 38 APP_HIOIF_SEND = 0, 39 APP_HIOIF_RECV, 40 APP_HIOIF_MAX 41 } APP_HIOIF_TYPE; 42 43 enum APP_MES 44 { 45 APP_MES_ID = 9999, 46 APP_MES_CONNECT, 47 APP_MES_DISCONNECT 48 }; 49 50 CHio2If* m_pHioIf; 51 volatile HIO2IF_ID m_nSendID; 52 volatile HIO2IF_ID m_nRecvID; 53 volatile HANDLE m_hThread; 54 volatile BOOL m_bThreadBreak; 55 volatile BOOL m_bSync; 56 57 BOOL HioIfInit(); 58 BOOL HioIfExit(); 59 void StopReadFreeThread(); 60 HIO2IF_RESULT SendRGB(LPRGBQUAD pRGB); 61 LPCSTR GetStatus(APP_HIOIF_TYPE nType); 62 void Disconnect(HIO2IF_ID id); 63 64 BYTE m_byRecvBuf[DUAL_BUFFER_SIZE]; 65 BYTE m_bySendBuf[DUAL_BUFFER_SIZE]; 66 67 private: 68 int m_nIDCount; 69 HIO2IF_ID m_nOpenID[APP_HIOIF_MAX]; 70 71 public: 72 CDualApp(); 73 74 75 // Overrides 76 public: 77 virtual BOOL InitInstance(); 78 79 // Implementation 80 afx_msg void OnAppAbout(); 81 DECLARE_MESSAGE_MAP() 82 virtual int ExitInstance(); 83 }; 84 85 extern CDualApp theApp; 86 87 ////////// for dualApp ////////// 88 89 /////////////////////////////////////////////////////////////////////////////// 90 // 91 // Get App Interface 92 // 93 94 static inline GetApp()95CDualApp* GetApp() 96 { 97 return ((CDualApp *)AfxGetApp()); 98 } 99 100 static inline GetAppHioIf()101CHio2If* GetAppHioIf() 102 { 103 return ((CDualApp *)AfxGetApp())->m_pHioIf; 104 } 105 106 // end of dual.h 107