Page principale | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier | Pages associées

NetClient.h

Aller à la documentation de ce fichier.
00001 /*! \file NetClient.h
00002     \brief Systeme client.
00003 
00004     Client pour le systeme serveur \a NetServeur.
00005 
00006     \author     aerith (http://aerith.fr)
00007     \version    2.0
00008     \date       22/05/2008
00009 */
00010 
00011 #ifndef INCLUDE_RSRC_NET_CLIENT
00012 #define INCLUDE_RSRC_NET_CLIENT
00013 
00014 #include    "../Surcouche/SurcoucheReseau.h"
00015 #include    "../Error/Error.h"
00016 #include    "NetConnect.h"
00017 
00018 
00019 //! Systeme client.
00020 /*! Client pour le systeme serveur \a NetServeur.
00021 */
00022 class NetClient
00023 {
00024 private :
00025     NetConnect          *conInfo;           /*!< Infos sur la connection.                           */
00026 #if USE_SSL == 1
00027     SSL_CTX             *sslCTX;            /*!< Contexte pour OpenSSL.                             */
00028 #endif
00029     unsigned int        crypt;              /*!< Cryptage activé.                                   */
00030 
00031 public  :
00032     /*! Initialise avec des paramétres par defaut.
00033         \param iCrypt active le cryptage SSL
00034     */
00035     NetClient(unsigned int iCrypt = NET_T_NORMAL);
00036 
00037     /*! Libère la mémoire proprement
00038     */
00039     ~NetClient();
00040     
00041     //! Démare le client.
00042     /*! Démare le client.
00043         \param iIp ip de connection
00044         \param iPort port de connaection
00045     */
00046     void    Start(const char *iIp, unsigned int iPort);
00047     
00048     //! Arrète le client.
00049     /*! Arrète le client.
00050     */
00051     void    Stop();
00052 
00053     //! Retourne l'objet de connectoin.
00054     /*! Retourne l'objet de connection.
00055         \return Pointeur sur l'objet \a conInfo .
00056     */
00057     inline NetConnect   *GetConnect()
00058     {
00059         return conInfo;
00060     };
00061 
00062     //! Retourne l'ip.
00063     /*! Retourne l'ip de la connection.
00064         \return Pointeur sur l'ip.
00065     */
00066     inline const char   *GetIp()
00067     {
00068         return conInfo->GetIp();
00069     };
00070 
00071     //! Retourne le port.
00072     /*! Retourne le port de la connection.
00073         \return port de la connection.
00074     */
00075     inline unsigned int GetPort()
00076     {
00077         return conInfo->GetPort();
00078     };
00079 
00080     //! Retourne le buffer.
00081     /*! Retourne le buffer de données \a Buffer.
00082         \return Pointeur sur le buffer.
00083     */
00084     inline const char   *GetBuffer()
00085     {
00086         return conInfo->GetBuffer();
00087     };
00088 
00089     //! Retourne la taille buffer.
00090     /*! Retourne la taille buffer de données \a Buffer.
00091         \return Taille du buffer \a BufferSize.
00092     */
00093     inline unsigned int GetBufferSize()
00094     {
00095         return conInfo->GetBufferSize();
00096     };
00097 
00098     //! Envoie des données binaire.
00099     /*! Envoie des données binaire à \a iP.
00100         \param pBuffer données
00101         \param iSize Taille des données
00102     */
00103     inline void BinSend(const char *pBuffer, unsigned int iSize)
00104     {
00105         conInfo->BinSend(pBuffer, iSize);
00106     };
00107 
00108     //! Envoie les données.
00109     /*! Envoie les données \a Buffer à \a Ip.
00110         \param pBuffer chaine construite comme pour printf.
00111         \param ... argument pour construire la chaine
00112     */
00113     void    Send(const char *pBuffer, ...);
00114 
00115     //! Recoit les données.
00116     /*! Recoit les données \a Buffer depuis \a Ip.
00117     */
00118     inline void Receive()
00119     {
00120         conInfo->Receive();
00121     };
00122 };
00123 
00124 
00125 #endif
00126 

Généré le Thu Jun 12 09:12:30 2008 pour A.I.F. par  doxygen 1.3.9.1