campo-sirio/include/netsock.h

68 lines
1.4 KiB
C
Raw Normal View History

#ifndef __NETSOCK_H__
#define __NETSOCK_H__
#ifndef __NETUTILS_H__
#include "NetUtils.h"
#endif
class TConnection;
class TSocketServer : public TLanServer
{
BYTE* m_pData;
DWORD m_dwSize;
protected: // TLanManager
virtual BOOL Boot();
virtual BOOL ShutDown();
virtual BOOL OnRemoveConnection(DWORD id);
public:
BYTE* GetBuffer(DWORD dwSize);
const BYTE* GetData() const { return m_pData; }
BOOL OnConnect(const CString& topic);
void OnConnectConfirm(DWORD id);
public:
virtual BOOL IsOk() const;
TSocketServer(const char* name);
virtual ~TSocketServer();
};
class TSocketClient : public TLanClient
{
BYTE* m_pData;
DWORD m_dwSize;
protected: // TLanManager
virtual BOOL Boot();
virtual BOOL ShutDown();
virtual OnRemoveConnection(DWORD id);
protected: // TLanClient
virtual TConnection* OnQueryConnection(const char* service,
const char* server);
public:
virtual BOOL Execute(DWORD id, const char* cmd);
virtual BOOL Request(DWORD id, const char* cmd);
virtual BYTE* GetBuffer(DWORD& dwSize);
virtual void ReleaseBuffer();
virtual BOOL IsOk() const { return TRUE; }
BOOL WriteLine(DWORD id, const char* str);
BOOL ReadLine(DWORD id, TString& str);
BOOL HttpGetFile(const char* remote, const char* local);
BOOL HttpGetDir(const char* remote, TString_array& list);
TSocketClient();
virtual ~TSocketClient();
};
#endif