Main Page | Class Hierarchy | Class List | File List | Class Members | Related Pages

net/src/Socket.h

00001 /* 
00002  * Version: GPL 2.0
00003  *
00004  * K-10 Distributed Processing - Lium, Le Mans
00005  * Copyright (C) 2006 Laurent MOUTEL
00006  *
00007  * This program is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU General Public License
00009  * as published by the Free Software Foundation; either version 2
00010  * of the License, or (at your option) any later version.
00011  *
00012  * This program is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00020  *
00021 */
00022 
00023 
00024 #ifndef SOCKET_H
00025 #define SOCKET_H
00026 
00027 #include <prtypes.h>
00028 #include <prmem.h>
00029 #include <prio.h>
00030 #include <prmon.h>
00031 #include <prerror.h>
00032 #include <prthread.h>
00033 #include <prnetdb.h>
00034 #include <iostream>
00035 #include <string>
00036 
00037 #include "Message.h"
00038 
00039 using namespace std;
00040 
00041 namespace net
00042 {
00048         class Socket
00049         {
00050         private:
00054                 string mRemoteAddr;
00058                 string mLocalAddr;
00059                 
00063                 PRNetAddr netaddr;
00067                 PRFileDesc *sockfd;
00068         
00069         public:
00074                 Socket();
00080                 Socket(Socket *);
00085                 ~Socket();
00086                 
00092                 Message * Recv();
00093                 
00099                 int Send(Message *);
00100                 
00108                 int Connect(string addr,int port);
00109                 
00117                 int Bind(string,int);
00118                 
00124                 int Listen();
00125                 
00131                 Socket * Accept();
00132                 
00138                 void setLocalAddr(string);
00139                 
00145                 void setRemoteAddr(string);
00146                 
00152                 string getLocalAddr();
00153                 
00159                 string getRemoteAddr();
00160         };
00161 }
00162         
00163 #endif

Generated on Fri May 19 23:12:37 2006 for common by  doxygen 1.4.4