simulavr  1.1.0
mysocket.h
Go to the documentation of this file.
1 /*
2  ****************************************************************************
3  *
4  * simulavr - A simulator for the Atmel AVR family of microcontrollers.
5  * Copyright (C) 2001, 2002, 2003 Klaus Rudolph
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with this program; if not, write to the Free Software Foundation, Inc.,
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  ****************************************************************************
22  *
23  * $Id$
24  */
25 
26 #ifndef MYSOCKET_INCLUDED
27 #define MYSOCKET_INCLUDED
28 
33 #include <string>
34 #include "config.h"
35 
36 #if defined(_MSC_VER) || defined(HAVE_SYS_MINGW)
37 #include <winsock2.h>
38 #undef GetCurrentTime // defined by winbase.h, clashes with SystemClock::GetCurrentTime()
39 #include <sys/types.h>
40 #define ssize_t size_t
41 #else
42 #include <unistd.h>
43 #endif
44 
45 class Socket {
46 
47  private:
48 # if defined(_MSC_VER) || defined(HAVE_SYS_MINGW)
49  static void Start();
50  static void End();
51  static int socketCount;
52  SOCKET _socket;
53 # else
54  int sock, conn;
55  void OpenSocket(int port);
56 # endif
57 
58  public:
59  Socket(int port);
60  ~Socket();
61  ssize_t Read(std::string &a);
62  void Write(const std::string &s);
63  ssize_t Poll();
64 
65  void Write(const char *in) {
66  std::string a(in);
67  Write(a);
68  }
69 };
70 
71 
72 #endif
73 
Socket(int port)
void Write(const char *in)
Definition: mysocket.h:65
void Write(const std::string &s)
int sock
Definition: mysocket.h:54
ssize_t Read(std::string &a)
ssize_t Poll()
int conn
Definition: mysocket.h:54
void OpenSocket(int port)