name space tweaks.

dogygen.
This commit is contained in:
curt 2001-03-24 13:56:53 +00:00
parent 65fa6f2f00
commit 4326d560e9
3 changed files with 62 additions and 7 deletions

View 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 \

View 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 );

View File

@ -1,5 +1,8 @@
// inlines.h -- various inline template definitions
//
/**
* \file sg_inlines.h
* Various inline template definitions.
*/
// Written by Norman Vine, started June 2000.
//
// Copyright (C) 2000 Norman Vine - nhv@cape.com
@ -25,7 +28,6 @@
#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;