mainform.h
来自「著名的SecureBlackBox控件完整源码」· C头文件 代码 · 共 126 行
H
126 行
//---------------------------------------------------------------------------
#ifndef MainFormH
#define MainFormH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "SBSSHClient.hpp"
#include "SBSSHCommon.hpp"
#include <ComCtrls.hpp>
#include <ExtCtrls.hpp>
#include <ImgList.hpp>
#include <ScktComp.hpp>
#include "SBUtils.hpp"
#include "SBSSHClient.hpp"
#include "SBSSHCommon.hpp"
#include "SBSSHKeyStorage.hpp"
#include "SBSSHConstants.hpp"
//---------------------------------------------------------------------------
#define STATE_NOT_CONNECTED 0
#define STATE_ESTABLISHING_FORWARDING 1
#define STATE_ACTIVE 2
#define STATE_DISCONNECTED 3
//---------------------------------------------------------------------------
class TFormMain : public TForm
{
__published: // IDE-managed Components
TGroupBox *GroupBox1;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TPanel *Panel1;
TEdit *EditHost;
TEdit *EditPort;
TEdit *EditUsername;
TEdit *EditPassword;
TPanel *Panel2;
TEdit *EditListeningPort;
TEdit *EditDestHost;
TEdit *EditDestPort;
TButton *ButtonStart;
TPanel *PanelClient;
TSplitter *Splitter1;
TListView *ListView;
TPanel *PanelStatus;
TListView *ListViewConnections;
TClientSocket *ClientSocket;
TElSSHClient *ElSSHClient;
TElSSHTunnelList *ElSSHTunnelList;
TImageList *ImageList;
TImageList *ImageListConns;
TElRemotePortForwardSSHTunnel *ElRemotePortForwardSSHTunnel;
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall ClientSocketConnect(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall ClientSocketRead(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall ClientSocketDisconnect(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall ElSSHClientAuthenticationFailed(TObject *Sender,
int AuthenticationType);
void __fastcall ElSSHClientAuthenticationSuccess(TObject *Sender);
void __fastcall ElSSHClientCloseConnection(TObject *Sender);
void __fastcall ElSSHClientDebugData(TObject *Sender,
Pointer Buffer, int Size);
void __fastcall ElSSHClientError(TObject *Sender, int ErrorCode);
void __fastcall ElSSHClientKeyValidate(TObject *Sender,
TElSSHKey *ServerKey, bool &Validate);
void __fastcall ElSSHClientOpenConnection(TObject *Sender);
void __fastcall ElSSHClientReceive(TObject *Sender, Pointer Buffer,
int MaxSize, int Written);
void __fastcall ElSSHClientSend(TObject *Sender, Pointer Buffer,
int Size);
void __fastcall ElRemotePortForwardSSHTunnelClose(TObject *Sender,
TElSSHTunnelConnection *TunnelConnection);
void __fastcall ElRemotePortForwardSSHTunnelError(TObject *Sender,
int Error, Pointer Data);
void __fastcall ElRemotePortForwardSSHTunnelOpen(TObject *Sender,
TElSSHTunnelConnection *TunnelConnection);
void __fastcall ButtonStartClick(TObject *Sender);
private: // User declarations
void Log(const AnsiString S, bool AError = false);
void RemoveConnectionFromList(TElSSHTunnelConnection* Conn); // overload;
void RemoveConnectionFromList(TClientSocket* Socket);// overload;
void SetBufferCount(int Value);
void RefreshListView(void);
void ClearConnections(void);
public: // User declarations
__fastcall TFormMain(TComponent* Owner);
void __fastcall TunnelConnectionData(TObject* Sender, void* Buffer, int Size);
void __fastcall TunnelConnectionError(TObject* Sender, int ErrorCode);
void __fastcall TunnelConnectionClose(TObject* Sender, TSSHCloseType CloseType);
void __fastcall SocketConnect(TObject* Sender, TCustomWinSocket* Socket);
void __fastcall SocketRead(TObject* Sender, TCustomWinSocket* Socket);
void __fastcall SocketDisconnect(TObject* Sender, TCustomWinSocket* Socket);
void __fastcall SocketError(TObject* Sender, TCustomWinSocket* Socket, TErrorEvent ErrorEvent, int &ErrorCode);
};
//---------------------------------------------------------------------------
typedef struct
{
int Sent;
int Received;
char SocketState;
} TForwardStatus;
typedef TForwardStatus* PForwardStatus;
TList* ConnList;
TList* SocketList;
TStringList* BufferList;
TList* StatusList;
bool ConnActive;
extern PACKAGE TFormMain *FormMain;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?