name space tweaks.
dogygen.
This commit is contained in:
parent
65fa6f2f00
commit
4326d560e9
@ -22,7 +22,7 @@ METAR_DIRS = metar
|
|||||||
EXTRA_DIST = version.h.in
|
EXTRA_DIST = version.h.in
|
||||||
|
|
||||||
include_HEADERS = \
|
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 = \
|
SUBDIRS = \
|
||||||
bucket \
|
bucket \
|
||||||
|
@ -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.
|
// Written by Curtis Olson, started November 1999.
|
||||||
//
|
//
|
||||||
// Copyright (C) 1999 Curtis L. Olson - curt@flightgear.org
|
// Copyright (C) 1999 Curtis L. Olson - curt@flightgear.org
|
||||||
@ -38,6 +41,10 @@ SG_USING_STD(string);
|
|||||||
|
|
||||||
#define SG_IO_MAX_MSG_SIZE 16384
|
#define SG_IO_MAX_MSG_SIZE 16384
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Specify if this is a read (IN), write (OUT), or r/w (BI) directional
|
||||||
|
* channel
|
||||||
|
*/
|
||||||
enum SGProtocolDir {
|
enum SGProtocolDir {
|
||||||
SG_IO_NONE = 0,
|
SG_IO_NONE = 0,
|
||||||
SG_IO_IN = 1,
|
SG_IO_IN = 1,
|
||||||
@ -45,13 +52,27 @@ enum SGProtocolDir {
|
|||||||
SG_IO_BI = 3
|
SG_IO_BI = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Specify the channel type
|
||||||
|
*/
|
||||||
enum SGChannelType {
|
enum SGChannelType {
|
||||||
sgFileType = 0,
|
sgFileType = 0,
|
||||||
sgSerialType = 1,
|
sgSerialType = 1,
|
||||||
sgSocketType = 2
|
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 {
|
class SGIOChannel {
|
||||||
|
|
||||||
SGChannelType type;
|
SGChannelType type;
|
||||||
@ -60,11 +81,43 @@ class SGIOChannel {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/** Constructor */
|
||||||
SGIOChannel();
|
SGIOChannel();
|
||||||
|
|
||||||
|
/** Destructor */
|
||||||
virtual ~SGIOChannel();
|
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 );
|
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 );
|
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 readline( char *buf, int length );
|
||||||
virtual int write( const char *buf, const int length );
|
virtual int write( const char *buf, const int length );
|
||||||
virtual int writestring( const char *str );
|
virtual int writestring( const char *str );
|
||||||
|
@ -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.
|
// Written by Norman Vine, started June 2000.
|
||||||
//
|
//
|
||||||
// Copyright (C) 2000 Norman Vine - nhv@cape.com
|
// Copyright (C) 2000 Norman Vine - nhv@cape.com
|
||||||
@ -25,7 +28,6 @@
|
|||||||
#ifndef _SG_INLINES_H
|
#ifndef _SG_INLINES_H
|
||||||
#define _SG_INLINES_H
|
#define _SG_INLINES_H
|
||||||
|
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
inline const int SG_SIGN(const T x) {
|
inline const int SG_SIGN(const T x) {
|
||||||
return x < T(0) ? -1 : 1;
|
return x < T(0) ? -1 : 1;
|
Loading…
Reference in New Issue
Block a user