Page principale | Liste alphabétique | Structures de données | Liste des fichiers | Champs de donnée | Portée globale | Pages associées

NetClientConnect.h

Aller à la documentation de ce fichier.
00001 //##############################################################################
00002 //#                                                                            #
00003 //# fichier : ClientConnect.h                           version : V1.0         #
00004 //# projet  : GestionAsso                               date :  15/01/2005     #
00005 //# par     : aerith                                                           #
00006 //#                                                                            #
00007 //# Header de la classe ClientConnect                                          #
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 //***************************** Taille des data ********************************
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     //socket
00032     SOCKET      Sock;
00033 
00034     // info sur le socket
00035     SOCKADDR_IN AdrSock;
00036 
00037     // IP du serveur
00038     char        Ip[TAILLE_IP];
00039 
00040     // pass pour se connecter au serveur
00041     char        Pass[TAILLE_PASS];
00042 
00043     // port de la connection
00044     int         Port;
00045 
00046     // buffer pour les données a echanger
00047     char        Buffer[TAILLE_BUFFER];
00048 
00049     // taille du buffer
00050     int         BufferSize;
00051 
00052     // permet de savoir si a ete initaliser et demarer
00053     int         Running;
00054 
00055     // n'affiche pas d'information
00056     int         NoInfo;
00057 
00058     // procedure qui permet au client de s'authentifier
00059     int     Identifie();
00060 
00061     // crée une fenetre avec des information sur la connection
00062     int     ToWindow(char *Label, int Delai = 0);
00063 
00064 public  :
00065     // constructeur
00066     ClientConnect(int iNoInfo = 0);
00067 
00068     // destructeur
00069     ~ClientConnect();
00070 
00071     // charge les parametre Ip, Port et Pass depuis un fichier
00072     int     LoadParameter(char *NomFichier);
00073 
00074     // initialise
00075     int     Start(char *NomFichier);
00076 
00077     // reinitialise
00078     int     Stop();
00079 
00080     // envoie le buffer
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     // recoit dans le buffer
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     // retourne le buffer
00120     inline char *GetBuffer()
00121     {
00122         return Buffer;
00123     };
00124 
00125     // definie le buffer
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     // definie la taille du buffer
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     // definie le buffer et sa taille automatiquement
00146     inline int      SetBuffer(char *pBuffer)
00147     {
00148         SetBufferSize(strlen(pBuffer));
00149         SetBufferManu(pBuffer);
00150 
00151         return BufferSize;
00152     };
00153 
00154     // retourne la taille du buffer
00155     inline int      GetBufferSize()
00156     {
00157         return BufferSize;
00158     };
00159 };
00160 

Généré le Wed May 4 00:06:03 2005 pour Ressource par  doxygen 1.3.9.1