diff options
Diffstat (limited to 'src/network.cc')
-rw-r--r-- | src/network.cc | 63 |
1 files changed, 28 insertions, 35 deletions
diff --git a/src/network.cc b/src/network.cc index 67ad413..05835c0 100644 --- a/src/network.cc +++ b/src/network.cc @@ -8,29 +8,36 @@ ****************************************************************************/ /* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This file is part of MIaV. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. + * MIaV is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * MIaV is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MIaV; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ + /* * $Id$ */ + /* * $Log$ + * Revision 1.4 2005/05/03 08:31:59 deva + * Removed the error object, and replaced it with a more generic info object. + * * Revision 1.3 2005/05/01 09:56:26 deva * Added Id and Log tags to all files - * */ + #include <config.h> #include "network.h" @@ -39,9 +46,9 @@ #include <string.h> #include <sys/socket.h> -Network::Network(Socket *gs, Error* err) +Network::Network(Socket *gs, Info *ginfo) { - error = err; + info = ginfo; s = gs; } @@ -52,17 +59,13 @@ Network::~Network() int Network::write(void *buf, int size) { if(!s->isConnected()) { - char errbuf[] = "Write attempted to a socket not connected!\0"; - if(error) error->pushError(errbuf); - else fprintf(stderr, errbuf); + info->error("Write attempted to a socket not connected!"); return 0; } int n = send(s->ssocket, buf, size, MSG_WAITALL); if(n == -1) { - char errbuf[] = "An error occurred!\0"; - if(error) error->pushError(errbuf); - else fprintf(stderr, errbuf); + info->error("An error occurred!"); } return n; @@ -71,17 +74,13 @@ int Network::write(void *buf, int size) int Network::read(void *buf, int size) { if(!s->isConnected()) { - char errbuf[] = "Read attempted from a socket not connected!\0"; - if(error) error->pushError(errbuf); - else fprintf(stderr, errbuf); + info->error("Read attempted from a socket not connected!"); return 0; } int n = recv(s->ssocket, buf, size, MSG_WAITALL); if(n == -1) { - char errbuf[] = "An error occurred!\0"; - if(error) error->pushError(errbuf); - else fprintf(stderr, errbuf); + info->error("An error occurred!"); } return n; @@ -117,9 +116,7 @@ int Network::sendPackage(n_header *h, void* buf, int bufsz) int n = sendmsg(s->ssocket, &msg, 0); if(n < 0) { - char errbuf[] = "A network error ocurred during sendPackage!\0"; - if(error) error->pushError(errbuf); - else perror(errbuf); + info->error("A network error ocurred during sendPackage!"); return -1; } @@ -145,16 +142,12 @@ int Network::recvPackage(n_header *h, void* buf, int bufsz) int n = recvmsg(s->ssocket, &msg, MSG_WAITALL); if(n < 0) { - char errbuf[] = "A network error ocurred during recvPackage!\0"; - if(error) error->pushError(errbuf); - else perror(errbuf); + info->error("A network error ocurred during recvPackage!"); return -1; } if(msg.msg_iovlen != 2) { - char errbuf[] = "Wrong package format!\0"; - if(error) error->pushError(errbuf); - else perror(errbuf); + info->error("Wrong package format!"); return -1; } return n; |