📄 defaultprotocol.cpp
字号:
// ========================================================
// Default Protocol Handler
//
// Design and Implementation by Floris van den Berg
// ========================================================
#pragma warning (disable : 4275)
#pragma warning (disable : 4786)
#include "OpenNet.h"
#include "Transport.h"
#include "DefaultProtocol.h"
// --------------------------------------------------------
struct MemberData {
TRANSPORT_HANDLE transport;
};
// --------------------------------------------------------
static void *DLL_CALLCONV
Create(TRANSPORT_HANDLE transport) {
MemberData *data = new MemberData;
data->transport = transport;
return data;
}
static void DLL_CALLCONV
Receive(void *self, unsigned char *data, int size) {
}
static void DLL_CALLCONV
Send(void *self, EpAction *action) {
}
static void DLL_CALLCONV
Reset(void *self) {
}
static void DLL_CALLCONV
Destroy(void *self) {
delete (MemberData *)self;
}
static int DLL_CALLCONV
GetName(void *self, char *name, int size) {
if ((name) && (size >= 7))
strcpy(name, "System");
return 7;
}
static int DLL_CALLCONV
GetMessageName(void *self, int msg, char *name, int size) {
switch(msg) {
case SYSTEM_DATA_IN :
if ((name) && (size >= 15))
strcpy(name, "SYSTEM_DATA_IN");
return 14;
case SYSTEM_DATA_OUT :
if ((name) && (size >= 16))
strcpy(name, "SYSTEM_DATA_OUT");
return 15;
case SYSTEM_CONNECTING :
if ((name) && (size >= 18))
strcpy(name, "SYSTEM_CONNECTING");
return 17;
case SYSTEM_CONNECTED :
if ((name) && (size >= 17))
strcpy(name, "SYSTEM_CONNECTED");
return 16;
case SYSTEM_CONNECT_TIMEOUT :
if ((name) && (size >= 23))
strcpy(name, "SYSTEM_CONNECT_TIMEOUT");
return 22;
case SYSTEM_DISCONNECTING :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_DISCONNECTING");
return 20;
case SYSTEM_DISCONNECTED :
if ((name) && (size >= 20))
strcpy(name, "SYSTEM_DISCONNECTED");
return 19;
case SYSTEM_LISTENING :
if ((name) && (size >= 17))
strcpy(name, "SYSTEM_LISTENING");
return 16;
case SYSTEM_SENT_PROGRESS_BYTES :
if ((name) && (size >= 27))
strcpy(name, "SYSTEM_SENT_PROGRESS_BYTES");
return 26;
case SYSTEM_SENT_PROGRESS_PERCENTAGE :
if ((name) && (size >= 32))
strcpy(name, "SYSTEM_SENT_PROGRESS_PERCENTAGE");
return 31;
case SYSTEM_SENT_SUCCEEDED :
if ((name) && (size >= 22))
strcpy(name, "SYSTEM_SENT_SUCCEEDED");
return 21;
case SYSTEM_SENT_FAILED :
if ((name) && (size >= 19))
strcpy(name, "SYSTEM_SENT_FAILED");
return 18;
case SYSTEM_TIMEOUT :
if ((name) && (size >= 15))
strcpy(name, "SYSTEM_TIMEOUT");
return 14;
case SYSTEM_IO_ERROR :
if ((name) && (size >= 16))
strcpy(name, "SYSTEM_IO_ERROR");
return 15;
case SYSTEM_NOT_SUPPORTED :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_NOT_SUPPORTED");
return 20;
case SYSTEM_CONNECTION_REQUEST :
if ((name) && (size >= 26))
strcpy(name, "SYSTEM_CONNECTION_REQUEST");
return 25;
case SYSTEM_RS232_BREAK :
if ((name) && (size >= 19))
strcpy(name, "SYSTEM_RS232_BREAK");
return 18;
case SYSTEM_RS232_ERR_BREAK :
if ((name) && (size >= 23))
strcpy(name, "SYSTEM_RS232_ERR_BREAK");
return 22;
case SYSTEM_RS232_ERR_DNS :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_RS232_ERR_DNS");
return 20;
case SYSTEM_RS232_ERR_FRAME :
if ((name) && (size >= 23))
strcpy(name, "SYSTEM_RS232_ERR_FRAME");
return 22;
case SYSTEM_RS232_ERR_IOE :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_RS232_ERR_IOE");
return 20;
case SYSTEM_RS232_ERR_MODE :
if ((name) && (size >= 22))
strcpy(name, "SYSTEM_RS232_ERR_MODE");
return 21;
case SYSTEM_RS232_ERR_OOP :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_RS232_ERR_OOP");
return 20;
case SYSTEM_RS232_ERR_OVERRUN :
if ((name) && (size >= 25))
strcpy(name, "SYSTEM_RS232_ERR_OVERRUN");
return 24;
case SYSTEM_RS232_ERR_PTO :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_RS232_ERR_PTO");
return 20;
case SYSTEM_RS232_ERR_RXOVER :
if ((name) && (size >= 24))
strcpy(name, "SYSTEM_RS232_ERR_RXOVER");
return 23;
case SYSTEM_RS232_ERR_RXPARITY :
if ((name) && (size >= 26))
strcpy(name, "SYSTEM_RS232_ERR_RXPARITY");
return 25;
case SYSTEM_RS232_ERR_TXFULL :
if ((name) && (size >= 24))
strcpy(name, "SYSTEM_RS232_ERR_TXFULL");
return 23;
case SYSTEM_RS232_CTS_ON :
if ((name) && (size >= 20))
strcpy(name, "SYSTEM_RS232_CTS_ON");
return 19;
case SYSTEM_RS232_CTS_OFF :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_RS232_CTS_OFF");
return 20;
case SYSTEM_RS232_DSR_ON :
if ((name) && (size >= 20))
strcpy(name, "SYSTEM_RS232_DSR_ON");
return 19;
case SYSTEM_RS232_DSR_OFF :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_RS232_DSR_OFF");
return 20;
case SYSTEM_RS232_RING_ON :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_RS232_RING_ON");
return 20;
case SYSTEM_RS232_RING_OFF :
if ((name) && (size >= 22))
strcpy(name, "SYSTEM_RS232_RING_OFF");
return 21;
case SYSTEM_RS232_RLSD_ON :
if ((name) && (size >= 21))
strcpy(name, "SYSTEM_RS232_RLSD_ON");
return 20;
case SYSTEM_RS232_RLSD_OFF :
if ((name) && (size >= 22))
strcpy(name, "SYSTEM_RS232_RLSD_OFF");
return 21;
case SYSTEM_TCPIP_NO_SUPPORT :
if ((name) && (size >= 24))
strcpy(name, "SYSTEM_TCPIP_NO_SUPPORT");
return 23;
case SYSTEM_TCPIP_CONNECTION_REFUSED :
if ((name) && (size >= 32))
strcpy(name, "SYSTEM_TCPIP_CONNECTION_REFUSED");
return 31;
case SYSTEM_TCPIP_ADDRESS_UNAVAILABLE :
if ((name) && (size >= 33))
strcpy(name, "SYSTEM_TCPIP_ADDRESS_UNAVAILABLE");
return 32;
case SYSTEM_TCPIP_NET_UNREACHABLE :
if ((name) && (size >= 29))
strcpy(name, "SYSTEM_TCPIP_NET_UNREACHABLE");
return 28;
case SYSTEM_TCPIP_NO_BUFFERSPACE :
if ((name) && (size >= 28))
strcpy(name, "SYSTEM_TCPIP_NO_BUFFERSPACE");
return 27;
case SYSTEM_TCPIP_NOT_CONNECTED :
if ((name) && (size >= 27))
strcpy(name, "SYSTEM_TCPIP_NOT_CONNECTED");
return 26;
case SYSTEM_TCPIP_CONNECTION_TIMEOUT :
if ((name) && (size >= 32))
strcpy(name, "SYSTEM_TCPIP_CONNECTION_TIMEOUT");
return 31;
case SYSTEM_TCPIP_SUBSYSTEM_FAILED :
if ((name) && (size >= 30))
strcpy(name, "SYSTEM_TCPIP_SUBSYSTEM_FAILED");
return 29;
case SYSTEM_TCPIP_CONNECTION_RESET :
if ((name) && (size >= 30))
strcpy(name, "SYSTEM_TCPIP_CONNECTION_RESET");
return 29;
case SYSTEM_TCPIP_CONNECTION_ABORTED :
if ((name) && (size >= 32))
strcpy(name, "SYSTEM_TCPIP_CONNECTION_ABORTED");
return 31;
case SYSTEM_TCPIP_NET_RESET :
if ((name) && (size >= 23))
strcpy(name, "SYSTEM_TCPIP_NET_RESET");
return 22;
case SYSTEM_TCPIP_OPERATION_ABORTED :
if ((name) && (size >= 31))
strcpy(name, "SYSTEM_TCPIP_OPERATION_ABORTED");
return 30;
case SYSTEM_TCPIP_UNIMPLEMENTED :
if ((name) && (size >= 27))
strcpy(name, "SYSTEM_TCPIP_UNIMPLEMENTED");
return 25;
case SYSTEM_TCPIP_ACCEPT_FAILED :
if ((name) && (size >= 27))
strcpy(name, "SYSTEM_TCPIP_ACCEPT_FAILED");
return 26;
case SYSTEM_TCPIP_ACCEPT_TRY_AGAIN :
if ((name) && (size >= 30))
strcpy(name, "SYSTEM_TCPIP_ACCEPT_TRY_AGAIN");
return 29;
case SYSTEM_TCPIP_ACCEPT_WITHDRAWN :
if ((name) && (size >= 30))
strcpy(name, "SYSTEM_TCPIP_ACCEPT_WITHDRAWN");
return 29;
};
return 0;
}
// --------------------------------------------------------
// Make protocol available for use
// --------------------------------------------------------
GUID DLL_CALLCONV
SystemProtocolInit(int count, Protocol *protocol) {
protocol->create = Create;
protocol->destroy = Destroy;
protocol->receive = Receive;
protocol->send = Send;
protocol->reset = Reset;
protocol->getname = GetName;
protocol->getmessagename = GetMessageName;
return CLSID_SYSTEM_PROTOCOL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -