]> git.mxchange.org Git - simgear.git/commitdiff
name space tweaks.
authorcurt <curt>
Sat, 24 Mar 2001 13:56:53 +0000 (13:56 +0000)
committercurt <curt>
Sat, 24 Mar 2001 13:56:53 +0000 (13:56 +0000)
dogygen.

simgear/Makefile.am
simgear/inlines.h [deleted file]
simgear/io/iochannel.hxx
simgear/sg_inlines.h [new file with mode: 0644]

index dc6e96d2570024a0a6e8cab25b37a001ace702df..56d6c4bff310ead0daf872fcf39f617950978426 100644 (file)
@@ -22,7 +22,7 @@ METAR_DIRS = metar
 EXTRA_DIST = version.h.in
 
 include_HEADERS = \
-       compiler.h constants.h inlines.h sg_traits.hxx sg_zlib.h version.h
+       compiler.h constants.h sg_inlines.h sg_traits.hxx sg_zlib.h version.h
 
 SUBDIRS = \
        bucket \
diff --git a/simgear/inlines.h b/simgear/inlines.h
deleted file mode 100644 (file)
index e3aae3c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// inlines.h -- various inline template definitions
-//
-// Written by Norman Vine, started June 2000.
-//
-// Copyright (C) 2000  Norman Vine  - nhv@cape.com
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Library General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This library 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.
-//
-// You should have received a copy of the GNU Library General Public
-// License along with this library; if not, write to the
-// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-// Boston, MA  02111-1307, USA.
-//
-// $Id$
-
-
-#ifndef _SG_INLINES_H
-#define _SG_INLINES_H
-
-
-template <class T>
-inline const int SG_SIGN(const T x) {
-    return x < T(0) ? -1 : 1;
-}
-
-template <class T>
-inline const T SG_MIN2(const T a, const T b) {
-    return a < b ? a : b;
-}
-
-// return the minimum of three values
-template <class T>
-inline const T SG_MIN3( const T a, const T b, const T c) {
-    return (a < b ? SG_MIN2 (a, c) : SG_MIN2 (b, c));
-}
-
-template <class T>
-inline const T SG_MAX2(const T a, const T b) {
-    return  a > b ? a : b;
-}
-
-// return the maximum of three values
-template <class T>
-inline const T SG_MAX3 (const T a, const T b, const T c) {
-    return (a > b ? SG_MAX2 (a, c) : SG_MAX2 (b, c));
-}
-
-// 
-template <class T>
-inline void SG_SWAP( T &a, T &b) {
-    T c = a;  a = b;  b = c;
-}
-
-#endif // _SG_INLINES_H
index 1651c106f065bdb0325dd31e722f96254b14416f..cd40b6bd466c34ea9e2bb01652a325a73acaab8d 100644 (file)
@@ -1,5 +1,8 @@
-// iochannel.hxx -- High level IO channel class
-//
+/**
+ * \file iochannel.hxx
+ * High level IO channel base class.
+ */
+
 // Written by Curtis Olson, started November 1999.
 //
 // Copyright (C) 1999  Curtis L. Olson - curt@flightgear.org
@@ -38,6 +41,10 @@ SG_USING_STD(string);
 
 #define SG_IO_MAX_MSG_SIZE 16384
 
+/**
+ * Specify if this is a read (IN), write (OUT), or r/w (BI) directional
+ * channel
+ */
 enum SGProtocolDir {
     SG_IO_NONE = 0,
     SG_IO_IN = 1,
@@ -45,13 +52,27 @@ enum SGProtocolDir {
     SG_IO_BI = 3
 };
 
-
+/**
+ * Specify the channel type
+ */
 enum SGChannelType {
     sgFileType = 0,
     sgSerialType = 1,
     sgSocketType = 2
 };
 
+
+/**
+ * The SGIOChannel base class provides a consistent method for
+ * applications to communication through various mediums. By providing
+ * a base class with multiple derived classes, and application such as
+ * FlightGear can implement a way to speak any protocol via any kind
+ * of I/O channel.
+ *
+ * All of the SGIOChannel derived classes have exactly the same usage
+ * interface once an instance has been created.
+ *
+ */
 class SGIOChannel {
 
     SGChannelType type;
@@ -60,11 +81,43 @@ class SGIOChannel {
 
 public:
 
+    /** Constructor */
     SGIOChannel();
+
+    /** Destructor */
     virtual ~SGIOChannel();
 
+    /** Open a channel.
+     * @param d channel communication "direction"
+     * Direction can be one of: 
+     *  - SG_IO_IN - data will be flowing into this object to the application. 
+     *  - SG_IO_OUT - data will be flowing out of this object from the
+     *                application. 
+     *  - SG_IO_BI - data will be flowing in both directions. 
+     *  - SG_IO_NONE - data will not be flowing in either direction.
+     *                 This is here for the sake of completeness. 
+     */
     virtual bool open( const SGProtocolDir d );
+
+    /**
+     * The read() method is modeled after the read() Unix system
+     * call. You must provide a pointer to a character buffer that has
+     * enough allocated space for your potential read. You can also
+     * specify the maximum number of bytes allowed for this particular
+     * read. The actual number of bytes read is returned.  You are
+     * responsible to ensure that the size of buf is large enough to
+     * accomodate your input message
+     * @param buf a char pointer to your input buffer 
+     * @param length max number of bytes to read
+     */
     virtual int read( char *buf, int length );
+
+    /**
+     * The readline() method is similar to read() except that it will
+     * stop at the first end of line encountered in the input buffer.
+     * @param buf a char pointer to your input buffer 
+     * @param length max number of bytes to read
+     */
     virtual int readline( char *buf, int length );
     virtual int write( const char *buf, const int length );
     virtual int writestring( const char *str );
diff --git a/simgear/sg_inlines.h b/simgear/sg_inlines.h
new file mode 100644 (file)
index 0000000..0fc8676
--- /dev/null
@@ -0,0 +1,64 @@
+/** 
+ * \file sg_inlines.h
+ * Various inline template definitions.
+ */
+
+// Written by Norman Vine, started June 2000.
+//
+// Copyright (C) 2000  Norman Vine  - nhv@cape.com
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library 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.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA  02111-1307, USA.
+//
+// $Id$
+
+
+#ifndef _SG_INLINES_H
+#define _SG_INLINES_H
+
+template <class T>
+inline const int SG_SIGN(const T x) {
+    return x < T(0) ? -1 : 1;
+}
+
+template <class T>
+inline const T SG_MIN2(const T a, const T b) {
+    return a < b ? a : b;
+}
+
+// return the minimum of three values
+template <class T>
+inline const T SG_MIN3( const T a, const T b, const T c) {
+    return (a < b ? SG_MIN2 (a, c) : SG_MIN2 (b, c));
+}
+
+template <class T>
+inline const T SG_MAX2(const T a, const T b) {
+    return  a > b ? a : b;
+}
+
+// return the maximum of three values
+template <class T>
+inline const T SG_MAX3 (const T a, const T b, const T c) {
+    return (a > b ? SG_MAX2 (a, c) : SG_MAX2 (b, c));
+}
+
+// 
+template <class T>
+inline void SG_SWAP( T &a, T &b) {
+    T c = a;  a = b;  b = c;
+}
+
+#endif // _SG_INLINES_H