00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "../src/Surcouche.h"
00012 #include "../src/Protocol.h"
00013 #include "../src/Erreurs.h"
00014
00015 #ifndef nogtk
00016 #include <gtk/gtk.h>
00017 #define _(x) g_locale_to_utf8 (x, -1, NULL, NULL, NULL)
00018 #endif
00019
00020
00021 #define TAILLE_IP 32
00022 #define TAILLE_PASS 16
00023 #define TAILLE_BUFFER 1024
00024
00025
00026 int KillWindow();
00027
00028 class ClientConnect
00029 {
00030 private :
00031
00032 SOCKET Sock;
00033
00034
00035 SOCKADDR_IN AdrSock;
00036
00037
00038 char Ip[TAILLE_IP];
00039
00040
00041 char Pass[TAILLE_PASS];
00042
00043
00044 int Port;
00045
00046
00047 char Buffer[TAILLE_BUFFER];
00048
00049
00050 int BufferSize;
00051
00052
00053 int Running;
00054
00055
00056 int NoInfo;
00057
00058
00059 int Identifie();
00060
00061
00062 int ToWindow(char *Label, int Delai = 0);
00063
00064 public :
00065
00066 ClientConnect(int iNoInfo = 0);
00067
00068
00069 ~ClientConnect();
00070
00071
00072 int LoadParameter(char *NomFichier);
00073
00074
00075 int Start(char *NomFichier);
00076
00077
00078 int Stop();
00079
00080
00081 inline int Send()
00082 {
00083 int ErrorCode = 0;
00084
00085 if(!Sock)
00086 ErrorCode = 8;
00087 else
00088 {
00089 BufferSize = send(Sock, Buffer, BufferSize, 0);
00090
00091 if(!BufferSize)
00092 ErrorCode = 8;
00093 }
00094
00095 return ErrorCode;
00096 };
00097
00098
00099 inline int Receive()
00100 {
00101 int ErrorCode = 0;
00102
00103 if(!Sock)
00104 ErrorCode = 8;
00105 else
00106 {
00107 memset(Buffer, 0, TAILLE_BUFFER);
00108
00109 if(Sock)
00110 BufferSize = recv(Sock, Buffer, TAILLE_BUFFER, 0);
00111
00112 if(!BufferSize)
00113 ErrorCode = 8;
00114 }
00115
00116 return ErrorCode;
00117 };
00118
00119
00120 inline char *GetBuffer()
00121 {
00122 return Buffer;
00123 };
00124
00125
00126 inline int SetBufferManu(char *pBuffer)
00127 {
00128 memset(Buffer, 0, TAILLE_BUFFER);
00129 memcpy(Buffer, pBuffer, BufferSize);
00130
00131 return BufferSize;
00132 };
00133
00134
00135 inline int SetBufferSize(int iSize)
00136 {
00137 if(iSize > TAILLE_BUFFER)
00138 BufferSize = TAILLE_BUFFER;
00139 else
00140 BufferSize = iSize;
00141
00142 return BufferSize;
00143 };
00144
00145
00146 inline int SetBuffer(char *pBuffer)
00147 {
00148 SetBufferSize(strlen(pBuffer));
00149 SetBufferManu(pBuffer);
00150
00151 return BufferSize;
00152 };
00153
00154
00155 inline int GetBufferSize()
00156 {
00157 return BufferSize;
00158 };
00159 };
00160