]> git.mxchange.org Git - simgear.git/blobdiff - simgear/io/sg_serial.hxx
Expose total bytes to download / remaining
[simgear.git] / simgear / io / sg_serial.hxx
index 43cb4433069860f8b5b74b2278cf1374676a377a..e02ace643c54a112787ea2aa95ddb0506e7ee456 100644 (file)
@@ -1,8 +1,11 @@
-// sg_serial.hxx -- Serial I/O routines
-//
+/**
+ * \file sg_serial.hxx
+ * Serial I/O routines
+ */
+
 // Written by Curtis Olson, started November 1999.
 //
-// Copyright (C) 1999  Curtis L. Olson - curt@flightgear.org
+// Copyright (C) 1999  Curtis L. Olson - http://www.flightgear.org/~curt
 //
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of the GNU General Public License as
@@ -16,7 +19,7 @@
 //
 // 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 // $Id$
 
 
 #include <string>
 
-// #ifdef FG_HAVE_STD_INCLUDES
-// #  include <ctime>
-// #else
-// #  include <time.h>
-// #endif
-
 #include <simgear/serial/serial.hxx>
 
 #include "iochannel.hxx"
 
-FG_USING_STD(string);
-
-
+/**
+ * A serial I/O class based on SGIOChannel.
+ */
 class SGSerial : public SGIOChannel {
 
-    string device;
-    string baud;
-    FGSerialPort port;
+    std::string device;
+    std::string baud;
+    SGSerialPort port;
 
     char save_buf[ 2 * SG_IO_MAX_MSG_SIZE ];
     int save_len;
 
 public:
 
-    SGSerial( const string& device_name, const string& baud_rate );
+    /**
+     * Create an instance of SGSerial.
+     * This creates an instance of the SGSerial class. You need to
+     * provide the serial device name and desired baud rate.  For Unix
+     * style systems, device names will be similar to
+     * ``/dev/ttyS0''. For DOS style systems you may want to use
+     * something similar to ``COM1:''. As with the SGFile class,
+     * device is not opened immediately, but instead will be opened
+     * when the open() method is called.
+     * @param device_name name of serial device
+     * @param baud_rate speed of communication
+     */
+    SGSerial( const std::string& device_name, const std::string& baud_rate );
+
+    /** Destructor */
     ~SGSerial();
 
     // open the serial port based on specified direction
-    bool open( SGProtocolDir dir );
+    bool open( const SGProtocolDir d );
 
     // read a block of data of specified size
     int read( char *buf, int length );
@@ -70,15 +81,18 @@ public:
     int readline( char *buf, int length );
 
     // write data to port
-    int write( char *buf, int length );
+    int write( const char *buf, const int length );
 
     // write null terminated string to port
-    int writestring( char *str );
+    int writestring( const char *str );
 
     // close port
     bool close();
 
+    /** @return the serial port device name */
     inline string get_device() const { return device; }
+
+    /** @return the baud rate */
     inline string get_baud() const { return baud; }
 };