X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fio%2Fiochannel.hxx;h=2cfa547773862441e750aa6ee71b7d306a35a236;hb=dc09a50472890ac706d3c76d8af34cc3682ada0c;hp=cd40b6bd466c34ea9e2bb01652a325a73acaab8d;hpb=4326d560e96e42893d9048cc6ee6625d7351c054;p=simgear.git diff --git a/simgear/io/iochannel.hxx b/simgear/io/iochannel.hxx index cd40b6bd..2cfa5477 100644 --- a/simgear/io/iochannel.hxx +++ b/simgear/io/iochannel.hxx @@ -5,7 +5,7 @@ // 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 @@ -96,6 +96,7 @@ public: * - 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. + * @return result of open */ virtual bool open( const SGProtocolDir d ); @@ -109,6 +110,7 @@ public: * accomodate your input message * @param buf a char pointer to your input buffer * @param length max number of bytes to read + * @return number of bytes read */ virtual int read( char *buf, int length ); @@ -117,10 +119,37 @@ public: * 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 + * @return number of bytes read */ virtual int readline( char *buf, int length ); + + + /** + * The write() method is modeled after the write() Unix system + * call and is analogous to the read() method. You provide a + * pointer to a buffer of data, and then length of that data to be + * written out. The number of bytes written is returned. + * @param buf a char pointer to your output buffer + * @param length number of bytes to write + * @return number of bytes written + */ virtual int write( const char *buf, const int length ); + + /** + * The writestring() method is a simple wrapper that will + * calculate the length of a null terminated character array and + * write it to the output channel. + * @param buf a char pointer to your output buffer + * @return number of bytes written + */ virtual int writestring( const char *str ); + + /** + * The close() method is modeled after the close() Unix system + * call and will close an open device. You should call this method + * when you are done using your IO class, before it is destructed. + * @return result of close + */ virtual bool close(); inline void set_type( SGChannelType t ) { type = t; } @@ -129,6 +158,7 @@ public: inline void set_dir( const SGProtocolDir d ) { dir = d; } inline SGProtocolDir get_dir() const { return dir; } inline bool isvalid() const { return valid; } + inline void set_valid( const bool v ) { valid = v; } };