TNB Library
TnbMfcVmPortComboBox.h
[詳解]
1#pragma once
14#include "TnbMfcPortComboBox.h"
15#include "TnbRs232c.h"
16#include "TnbPipe.h"
17
18
19
20//TNB Library
21namespace TNB {
22namespace MFC {
23
24
25
37{
38 DEFSUPER(CPortComboBox);
39public:
40
43 {
44 #ifdef _DEBUG
45 AddExtendPort(_T("pipe\\vm"));
46 #endif
47 }
48
49protected:
50
56 void AddExtendPort(LPCTSTR lpszName)
57 {
58 _super::AddExtendPort(lpszName);
59 }
60};
61
62
63
64}; // MFC
65
66
67
80{
81public:
82
85 {
86 m_pComm = &m_rs232c;
87 }
88
103 DWORD SetParameter(CRs232c::CPort port, DWORD dwBaudRate, BYTE bByteSize, CRs232c::EParity eParity, CRs232c::EStopBits eStopBits)
104 {
105 if ( port.GetPortName().Find(_T("\\.\\\\pipe\\")) == 0 || port.GetNumber() == 0 )
106 {
107 m_pComm = &m_pipe;
108 m_pipe.SettingNamedPipe(_T("\\\\.\\pipe\\vmware-serial-port"), true);
109 return 0;
110 }
111 m_pComm = &m_rs232c;
112 return m_rs232c.SetParameter(port, dwBaudRate, bByteSize, eParity, eStopBits);
113 }
114
120 virtual const TProperty& GetProperty(void) const
121 {
122 return m_pComm->GetProperty();
123 }
124
133 virtual bool SetReceiveTimeout(DWORD to)
134 {
135 return m_pComm->SetReceiveTimeout(to);
136 }
137
143 virtual bool Open(void)
144 {
145 return m_pComm->Open();
146 }
147
151 virtual void Close(void)
152 {
153 m_pComm->Close();
154 }
155
161 virtual bool IsOpened(void) const
162 {
163 return m_pComm->IsOpened();
164 }
165
171 virtual bool IsConnect(void) const
172 {
173 return m_pComm->IsConnect();
174 }
175
181 virtual bool CanSend(void) const
182 {
183 return m_pComm->CanSend();
184 }
185
191 virtual bool CanReceive(void) const
192 {
193 return m_pComm->CanReceive();
194 }
195
203 virtual size_t Send(size_t size, LPCVOID P)
204 {
205 return m_pComm->Send(size, P);
206 }
207
216 virtual size_t Receive(size_t size, LPVOID _P)
217 {
218 return m_pComm->Receive(size, _P);
219 }
220
226 virtual size_t GetReceivingDataSize(void) const
227 {
228 return m_pComm->GetReceivingDataSize();
229 }
230
238 virtual EState Check(void) const
239 {
240 return m_pComm->Check();
241 }
242
247 virtual void Purge(void)
248 {
249 m_pComm->Purge();
250 }
251
257 {
258 return m_rs232c;
259 }
260
265 CPipe& Pipe(void)
266 {
267 return m_pipe;
268 }
269
270private:
271 ICommunication* m_pComm;
272 CRs232c m_rs232c;
273 CPipe m_pipe;
274};
275
276
277
278}; //TNB
シリアルポート選択コンボボックス関係のヘッダ
パイプ関係のヘッダ
RS232Cのアクセス関係のヘッダ
パイプアクセスクラス
Definition: TnbPipe.h:38
void SettingNamedPipe(LPCTSTR lpszPipeName, bool isClient)
[設定] パイプ名設定.
Definition: TnbPipe.h:94
RS232C ポート管理
Definition: TnbRs232c.h:84
int GetNumber(void) const
[取得] 数値取得.
Definition: TnbRs232c.h:139
const CStr & GetPortName(void) const
[取得] ポート名取得.
Definition: TnbRs232c.h:130
RS232Cアクセスクラス
Definition: TnbRs232c.h:72
EParity
パリティ設定値
Definition: TnbRs232c.h:195
DWORD SetParameter(CPort comPort, DWORD dwBaudRate, BYTE bByteSize, EParity eParity, EStopBits eStopBits)
[設定] オープン設定.
Definition: TnbRs232c.h:274
EStopBits
ストップビット設定値
Definition: TnbRs232c.h:212
INT_PTR Find(TYP t, INDEX iFromIndex=0) const
[確認] 検索.
Definition: TnbStr.h:540
RS232Cアクセスクラス
virtual EState Check(void) const
[確認] チェック.
CRs232c & Rs232c(void)
[参照] RS232Cのオプジェクト参照
virtual bool SetReceiveTimeout(DWORD to)
[設定] 受信待ち時間設定.
virtual bool Open(void)
[処理] オープン.
CVmRs232c(void)
コンストラクタ
DWORD SetParameter(CRs232c::CPort port, DWORD dwBaudRate, BYTE bByteSize, CRs232c::EParity eParity, CRs232c::EStopBits eStopBits)
[設定] オープン設定.
virtual bool CanSend(void) const
[確認] 送信可能確認.
CPipe & Pipe(void)
[参照] RS232Cのオプジェクト参照
virtual void Purge(void)
[処理] パージ.
virtual bool IsConnect(void) const
[確認] 接続確認.
virtual void Close(void)
[処理] クローズ.
virtual bool CanReceive(void) const
[確認] 受信可能確認.
virtual bool IsOpened(void) const
[確認] オープン確認.
virtual size_t Receive(size_t size, LPVOID _P)
[処理] 受信.
virtual const TProperty & GetProperty(void) const
[取得] 性能取得.
virtual size_t GetReceivingDataSize(void) const
[確認] 受信データ確認.
virtual size_t Send(size_t size, LPCVOID P)
[処理] 送信.
シルアルポートComboBoxコントロール
仮想ポート付き、シルアルポートComboBoxコントロール.
void AddExtendPort(LPCTSTR lpszName)
[設定] 拡張ポート名設定.
CVmPortComboBox(void)
コンストラクタ
TNB Library
Definition: TnbDoxyTitle.txt:2
性能プロパティ型.
通信インターフェース
virtual EState Check(void) const
[確認] チェック.
virtual bool SetReceiveTimeout(DWORD to)=0
[設定] 受信待ち時間設定.
virtual bool Open(void)=0
[処理] オープン.
virtual bool IsOpened(void) const =0
[確認] オープン確認.
virtual bool CanSend(void) const
[確認] 送信可能確認.
virtual const TProperty & GetProperty(void) const =0
[取得] 性能取得.
virtual void Close(void)=0
[処理] クローズ.
virtual size_t Send(size_t size, LPCVOID P)=0
[処理] 送信.
virtual void Purge(void)
[処理] パージ.
virtual bool IsConnect(void) const
[確認] 接続確認.
virtual bool CanReceive(void) const
[確認] 受信可能確認.
virtual size_t Receive(size_t size, LPVOID _P)=0
[処理] 受信.
virtual size_t GetReceivingDataSize(void) const
[確認] 受信データ確認.