From e3323d4da7c07d4e434f4f65fdc41beca9305eaa Mon Sep 17 00:00:00 2001 From: darkeye Date: Sun, 12 Nov 2000 14:54:50 +0000 Subject: [PATCH] added kdoc-style documentation comments --- darkice/trunk/src/AudioEncoder.h | 194 ++++++++++++--- darkice/trunk/src/CastSink.cpp | 34 ++- darkice/trunk/src/CastSink.h | 332 ++++++++++++++++++++------ darkice/trunk/src/ExternalEncoder.cpp | 35 ++- darkice/trunk/src/ExternalEncoder.h | 197 ++++++++++++--- darkice/trunk/src/IceCast.cpp | 35 ++- darkice/trunk/src/IceCast.h | 94 ++++++-- darkice/trunk/src/LameEncoder.cpp | 34 ++- darkice/trunk/src/LameEncoder.h | 150 ++++++++++-- darkice/trunk/src/TcpSocket.cpp | 34 ++- darkice/trunk/src/TcpSocket.h | 178 +++++++++++--- 11 files changed, 1005 insertions(+), 312 deletions(-) diff --git a/darkice/trunk/src/AudioEncoder.h b/darkice/trunk/src/AudioEncoder.h index 64443dd..54c0624 100644 --- a/darkice/trunk/src/AudioEncoder.h +++ b/darkice/trunk/src/AudioEncoder.h @@ -9,26 +9,21 @@ Author : $Author$ Location : $AudioEncoder$ - Abstract : - - An audio encoder - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ #ifndef AUDIO_ENCODER_H @@ -53,22 +48,57 @@ /* =============================================================== data types */ -/*------------------------------------------------------------------------------ - * - *----------------------------------------------------------------------------*/ +/** + * An audio encoder + * + * @author $Author$ + * @version $Revision$ + */ class AudioEncoder : public virtual Referable { private: + /** + * Sample rate of the input. + */ unsigned int inSampleRate; + + /** + * Number of bits per sample of the input. + */ unsigned int inBitsPerSample; + + /** + * Number of channels of the input. + */ unsigned int inChannel; + /** + * Bit rate of the output. (bits/sec) + */ unsigned int outBitrate; + + /** + * Sample rate of the output. + */ unsigned int outSampleRate; + + /** + * Number of channels of the output. + */ unsigned int outChannel; - + /** + * Initialize the object. + * + * @param inSampleRate sample rate of the input. + * @param inBitsPerSample number of bits per sample of the input. + * @param inChannel number of channels of the input. + * @param outBitrate bit rate of the output. + * @param outSampleRate sample rate of the output. + * @param outChannel number of channels of the output. + * @exception Exception + */ inline void init ( unsigned int inSampleRate, unsigned int inBitsPerSample, @@ -85,7 +115,11 @@ class AudioEncoder : public virtual Referable this->outChannel = outChannel; } - + /** + * De-iitialize the object. + * + * @exception Exception + */ inline void strip ( void ) throw ( Exception ) { @@ -94,13 +128,30 @@ class AudioEncoder : public virtual Referable protected: + /** + * Default constructor. Always throws an Exception. + * + * @exception Exception + */ inline AudioEncoder ( void ) throw ( Exception ) { throw Exception( __FILE__, __LINE__); } - + /** + * Constructor. + * + * @param inSampleRate sample rate of the input. + * @param inBitsPerSample number of bits per sample of the input. + * @param inChannel number of channels of the input. + * @param outBitrate bit rate of the output (bits/sec). + * @param outSampleRate sample rate of the output. + * If 0, inSampleRate is used. + * @param outChannel number of channels of the output. + * If 0, inChannel is used. + * @exception Exception + */ inline AudioEncoder ( unsigned int inSampleRate, unsigned int inBitsPerSample, @@ -118,7 +169,18 @@ class AudioEncoder : public virtual Referable outChannel ? outChannel : inChannel ); } - + /** + * Constructor. + * + * @param as get input sample rate, bits per sample and channels + * from this AudioSource. + * @param outBitrate bit rate of the output (bits/sec). + * @param outSampleRate sample rate of the output. + * If 0, input sample rate is used. + * @param outChannel number of channels of the output. + * If 0, input channel is used. + * @exception Exception + */ inline AudioEncoder ( const AudioSource * as, unsigned int outBitrate, @@ -134,7 +196,11 @@ class AudioEncoder : public virtual Referable outChannel ? outChannel : as->getChannel() ); } - + /** + * Copy constructor. + * + * @param encoder the AudioEncoder to copy. + */ inline AudioEncoder ( const AudioEncoder & encoder ) throw ( Exception ) { @@ -146,7 +212,13 @@ class AudioEncoder : public virtual Referable encoder.outChannel ); } - + /** + * Assignment operator. + * + * @param encoder the AudioEncoder to assign this to. + * @return a reference to this AudioEncoder. + * @exception Exception + */ inline virtual AudioEncoder & operator= ( const AudioEncoder & encoder ) throw ( Exception ) { @@ -167,63 +239,106 @@ class AudioEncoder : public virtual Referable public: + /** + * Destructor. + * + * @exception Exception + */ inline virtual ~AudioEncoder ( void ) throw ( Exception ) { strip(); } - + /** + * Get the number of channels of the input. + * + * @return the number of channels of the input. + */ inline int getInChannel ( void ) const throw () { return inChannel; } - + /** + * Get the sample rate of the input. + * + * @return the sample rate of the input. + */ inline int getInSampleRate ( void ) const throw () { return inSampleRate; } - + /** + * Get the number of bits per sample of the input. + * + * @return the number of bits per sample of the input. + */ inline int getInBitsPerSample ( void ) const throw () { return inBitsPerSample; } - + /** + * Get the number of channels of the output. + * + * @return the number of channels of the output. + */ inline int getOutChannel ( void ) const throw () { return outChannel; } - + /** + * Get the sample rate of the output. + * + * @return the sample rate of the output. + */ inline int getOutSampleRate ( void ) const throw () { return outSampleRate; } - + /** + * Get the bit rate of the output. (bits/sec) + * + * @return the bit rate of the output. + */ inline int getOutBitrate ( void ) const throw () { return outBitrate; } - + /** + * Check wether encoding is in progress. + * + * @return true if encoding is in progress, false otherwise. + */ virtual bool isRunning ( void ) const throw () = 0; - + /** + * Start encoding. This function returns as soon as possible, + * with encoding started in the background. + * + * @return true if encoding has started, false otherwise. + * @exception Exception + */ virtual bool start ( void ) throw ( Exception ) = 0; - + /** + * Stop encoding. Stops the encoding running in the background. + * + * @exception Exception + */ virtual void stop ( void ) throw ( Exception ) = 0; }; @@ -244,8 +359,11 @@ class AudioEncoder : public virtual Referable $Source$ $Log$ - Revision 1.1 2000/11/05 10:05:47 darkeye - Initial revision + Revision 1.2 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + + Revision 1.1.1.1 2000/11/05 10:05:47 darkeye + initial version ------------------------------------------------------------------------------*/ diff --git a/darkice/trunk/src/CastSink.cpp b/darkice/trunk/src/CastSink.cpp index 6c76083..49aff9c 100644 --- a/darkice/trunk/src/CastSink.cpp +++ b/darkice/trunk/src/CastSink.cpp @@ -9,26 +9,21 @@ Author : $Author$ Location : $Source$ - Abstract : - - Data output to a ShoutCast / IceCast / etc. server - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ @@ -141,6 +136,9 @@ CastSink :: open ( void ) throw ( Exception ) $Source$ $Log$ + Revision 1.3 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.2 2000/11/10 20:14:11 darkeye added support for remote dump file diff --git a/darkice/trunk/src/CastSink.h b/darkice/trunk/src/CastSink.h index e021d2c..324f285 100644 --- a/darkice/trunk/src/CastSink.h +++ b/darkice/trunk/src/CastSink.h @@ -9,26 +9,21 @@ Author : $Author$ Location : $Source$ - Abstract : - - Data output to a ShoutCast / IceCast / etc. server - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ #ifndef CAST_SINK_H @@ -55,28 +50,95 @@ /* =============================================================== data types */ -/*------------------------------------------------------------------------------ - * - *----------------------------------------------------------------------------*/ +/** + * Data output to a ShoutCast / IceCast / etc. server + * This is an abstract class. A subclass should override at least + * the sendLogin() function. + * + * @author $Author$ + * @version $Revision$ + */ class CastSink : public Sink { private: + /** + * The socket connection to the server. + */ Ref socket; - Ref bufferedSink; - char * password; - char * mountPoint; - char * remoteDumpFile; - char * name; - char * description; - char * url; - char * genre; - unsigned int bitRate; - bool isPublic; + /** + * The BufferedSink encapsulating the socket connection to the server. + */ + Ref bufferedSink; + + /** + * Duration of the BufferedSink buffer in seconds. + */ unsigned int bufferDuration; + /** + * Password to the server. + */ + char * password; + /** + * Mount point of the stream on the server. + */ + char * mountPoint; + + /** + * Remote dump file if any. + */ + char * remoteDumpFile; + + /** + * Name of the stream. + */ + char * name; + + /** + * Description of the stream. + */ + char * description; + + /** + * URL associated with the stream. + */ + char * url; + + /** + * Genre of the stream. + */ + char * genre; + + /** + * Bitrate of the stream (e.g. mp3 bitrate). + */ + unsigned int bitRate; + + /** + * Is the stream public? + */ + bool isPublic; + + /** + * Initalize the object. + * + * @param socket socket connection to the server. + * @param password password to the server. + * @param mountPoint mount point of the stream on the server. + * @param remoteDumpFile remote dump file (may be NULL). + * @param name name of the stream. + * @param description description of the stream. + * @param url URL associated with the stream. + * @param genre genre of the stream. + * @param bitRate bitrate of the stream (e.g. mp3 bitrate). + * @param isPublic is the stream public? + * @param bufferDuration duration of the BufferedSink buffer + * in seconds. + * @exception Exception + */ void init ( TcpSocket * socket, const char * password, @@ -91,26 +153,79 @@ class CastSink : public Sink unsigned int bufferDuration ) throw ( Exception ); - + /** + * De-initalize the object. + * + * @exception Exception + */ void strip ( void ) throw ( Exception ); protected: + /** + * Default constructor. Always throws an Exception. + * + * @exception Exception + */ inline CastSink ( void ) throw ( Exception ) { throw Exception( __FILE__, __LINE__); } - + /** + * Log in to the server using the socket avialable. + * + * @return true if login was successful, false otherwise. + * @exception Exception + */ virtual bool sendLogin ( void ) throw ( Exception ) = 0; + /** + * Get the Sink underneath this CastSink. + * + * @return pointer to the Sink underneath this CastSink. + */ + inline Sink * + getSink ( void ) const throw () + { + return bufferedSink.get(); + } + + /** + * Get the TcpSocket underneath this CastSink. + * + * @return pointer to the TcpSocket underneath this CastSink. + */ + inline TcpSocket * + getSocket ( void ) const throw () + { + return socket.get(); + } + public: + /** + * Constructor. + * + * @param socket socket connection to the server. + * @param password password to the server. + * @param mountPoint mount point of the stream on the server. + * @param remoteDumpFile remote dump file (may be NULL). + * @param name name of the stream. + * @param description description of the stream. + * @param url URL associated with the stream. + * @param genre genre of the stream. + * @param bitRate bitrate of the stream (e.g. mp3 bitrate). + * @param isPublic is the stream public? + * @param bufferDuration duration of the BufferedSink buffer + * in seconds. + * @exception Exception + */ inline CastSink ( TcpSocket * socket, const char * password, @@ -138,7 +253,11 @@ class CastSink : public Sink bufferDuration ); } - + /** + * Copy constructor. + * + * @param cs the CastSink to copy. + */ inline CastSink( const CastSink & cs ) throw ( Exception ) : Sink( cs ) @@ -156,14 +275,24 @@ class CastSink : public Sink cs.bufferDuration ); } - + /** + * Destructor. + * + * @exception Exception + */ inline virtual ~CastSink( void ) throw ( Exception ) { strip(); } - + /** + * Assignment operator. + * + * @param cs the CastSink to assign this to. + * @return a reference to this CastSink. + * @exception Exception + */ inline virtual CastSink & operator= ( const CastSink & cs ) throw ( Exception ) { @@ -185,125 +314,185 @@ class CastSink : public Sink return *this; } - - inline Sink * - getSink ( void ) const throw () - { - return bufferedSink.get(); - } - - - inline TcpSocket * - getSocket ( void ) const throw () - { - return socket.get(); - } - - + /** + * Open the CastSink. + * Logs in to the server. + * + * @return true if opening was successfull, false otherwise. + * @exception Exception + */ virtual bool open ( void ) throw ( Exception ); - + /** + * Check if the CastSink is open. + * + * @return true if the CastSink is open, false otherwise. + */ inline virtual bool isOpen ( void ) const throw () { return bufferedSink->isOpen(); } - + /** + * Check if the CastSink is ready to accept data. + * Blocks until the specified time for data to be available. + * + * @param sec the maximum seconds to block. + * @param usec micro seconds to block after the full seconds. + * @return true if the CastSink is ready to accept data, + * false otherwise. + * @exception Exception + */ inline virtual bool canWrite ( unsigned int sec, unsigned int usec ) throw ( Exception ) { - return bufferedSink->canWrite( sec, usec); + return getSink()->canWrite( sec, usec); } - + /** + * Write data to the CastSink. + * + * @param buf the data to write. + * @param len number of bytes to write from buf. + * @return the number of bytes written (may be less than len). + * @exception Exception + */ inline virtual unsigned int write ( const void * buf, unsigned int len ) throw ( Exception ) { - return bufferedSink->write( buf, len); + return getSink()->write( buf, len); } - + /** + * Flush all data that was written to the CastSink to the server. + * + * @exception Exception + */ inline virtual void flush ( void ) throw ( Exception ) { - return bufferedSink->flush(); + return getSink()->flush(); } - + /** + * Close the CastSink. + * + * @exception Exception + */ inline virtual void close ( void ) throw ( Exception ) { - return bufferedSink->close(); + return getSink()->close(); } - + /** + * Get the password to the server. + * + * @return the password to the server. + */ inline const char * getPassword ( void ) const throw () { return password; } - + /** + * Get the mount point of the stream on the server. + * + * @return the mount point of the stream on the server. + */ inline const char * getMountPoint ( void ) const throw () { return mountPoint; } - + /** + * Get the remote dump file if any. + * + * @return the remote dump file. May be NULL. + */ inline const char * getRemoteDumpFile ( void ) const throw () { return remoteDumpFile; } - + /** + * Get the name of the stream. + * + * @return the name of the stream. + */ inline const char * getName ( void ) const throw () { return name; } - + /** + * Get the description of the stream. + * + * @return the description of the stream. + */ inline const char * getDescription ( void ) const throw () { return description; } - + /** + * Get the URL associated with the stream. + * + * @return the URL associated with the stream. + */ inline const char * getUrl ( void ) const throw () { return url; } - + /** + * Get the genre of the stream. + * + * @return the genre of the stream. + */ inline const char * getGenre ( void ) const throw () { return genre; } - + /** + * Get the bitrate of the stream (e.g. mp3 bitrate). + * + * @return the bitrate of the stream (e.g. mp3 bitrate). + */ inline unsigned int getBitRate ( void ) const throw () { return bitRate; } - + /** + * Get wether this stream is public. + * + * @return true if the stream is public, false otherwise. + */ inline bool getIsPublic ( void ) const throw () { return isPublic; } - + /** + * Get the duration of the BufferedSink buffer in seconds. + * + * @return the the duration of the BufferedSink buffer in seconds. + */ inline unsigned int getBufferDuration ( void ) const throw () { @@ -327,6 +516,9 @@ class CastSink : public Sink $Source$ $Log$ + Revision 1.4 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.3 2000/11/10 20:14:11 darkeye added support for remote dump file diff --git a/darkice/trunk/src/ExternalEncoder.cpp b/darkice/trunk/src/ExternalEncoder.cpp index 3faa670..331ab67 100644 --- a/darkice/trunk/src/ExternalEncoder.cpp +++ b/darkice/trunk/src/ExternalEncoder.cpp @@ -9,27 +9,21 @@ Author : $Author$ Location : $Source$ - Abstract : - - A class representing an external audio encoder which is invoked - with a frok() and an exec() call - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ @@ -206,6 +200,9 @@ ExternalEncoder :: stop ( void ) throw ( Exception ) $Source$ $Log$ + Revision 1.3 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.2 2000/11/05 14:08:27 darkeye changed builting to an automake / autoconf environment diff --git a/darkice/trunk/src/ExternalEncoder.h b/darkice/trunk/src/ExternalEncoder.h index ab739eb..51d763f 100644 --- a/darkice/trunk/src/ExternalEncoder.h +++ b/darkice/trunk/src/ExternalEncoder.h @@ -9,27 +9,21 @@ Author : $Author$ Location : $ExternalEncoder$ - Abstract : - - A class representing an external audio encoder which is invoked - with a frok() and an exec() call - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ #ifndef EXTERNAL_ENCODER_H @@ -65,54 +59,123 @@ /* =============================================================== data types */ -/*------------------------------------------------------------------------------ - * - *----------------------------------------------------------------------------*/ +/** + * A class representing an external audio encoder which is invoked + * with a frok() and an exec() call + * + * @author $Author$ + * @version $Revision$ + */ class ExternalEncoder : public AudioEncoder { private: + /** + * Name of the encoder (the command to invoke the encoder with). + */ char * encoderName; + + /** + * Input file parameter for the encoder. + */ char * inFileName; + + /** + * Output file parameter for the encoder. + */ char * outFileName; - static const unsigned int numCmdArgs = 32; + /** + * Maximum number of command line arguments. + */ + static const unsigned int numCmdArgs = 64; + /** + * Array of command line arguments. + */ char * cmdArgs[numCmdArgs]; + /** + * Process ID of the encoder process. + */ pid_t child; - + /** + * Initialize the object. + * + * @param encoderName name of the encoder. + * @param inFileName input file parameter for the encoder. + * @param outFileName output file parameter for the encoder. + * @exception Exception + */ void init ( const char * encoderName, const char * inFileName, const char * outFileName ) throw ( Exception ); - + /** + * De-initialize the object. + * + * @exception Exception + */ void strip ( void ) throw ( Exception ); protected: + /** + * Default constructor. Always throws an Exception. + * + * @exception Exception + */ inline ExternalEncoder ( void ) throw ( Exception ) { throw Exception( __FILE__, __LINE__); } - + /** + * Set a command line argument in the argument array. + * + * @param str the argument to set. + * @param index the place in the array to set the argument. + * @exception Exception + */ void setArg ( const char * str, unsigned int index ) throw ( Exception ); - + /** + * Fill in the list of command line arguments. Puts a 0 + * as the last in the list of args. + * + * @return the number of arguments filled. + * @exception Exception + */ virtual unsigned int makeArgs ( void ) throw ( Exception ) = 0; public: + /** + * Constructor. + * + * @param encoderName name of the encoder. + * (the command to invoke the encoder with) + * @param inFileName input file parameter for the encoder. + * @param inSampleRate sample rate of the input. + * @param inBitsPerSample number of bits per sample of the input. + * @param inChannel number of channels of the input. + * @param outFileName output file parameter for the encoder. + * @param outBitrate bit rate of the output (bits/sec). + * @param outSampleRate sample rate of the output. + * If 0, inSampleRate is used. + * @param outChannel number of channels of the output. + * If 0, inChannel is used. + * @exception Exception + */ inline ExternalEncoder ( const char * encoderName, const char * inFileName, @@ -135,7 +198,22 @@ class ExternalEncoder : public AudioEncoder init ( encoderName, inFileName, outFileName ); } - + /** + * Constructor. + * + * @param encoderName name of the encoder. + * (the command to invoke the encoder with) + * @param inFileName input file parameter for the encoder. + * @param as get input sample rate, bits per sample and channels + * from this AudioSource. + * @param outFileName output file parameter for the encoder. + * @param outBitrate bit rate of the output (bits/sec). + * @param outSampleRate sample rate of the output. + * If 0, input sample rate is used. + * @param outChannel number of channels of the output. + * If 0, input channel is used. + * @exception Exception + */ inline ExternalEncoder ( const char * encoderName, const char * inFileName, @@ -154,7 +232,11 @@ class ExternalEncoder : public AudioEncoder init ( encoderName, inFileName, outFileName ); } - + /** + * Copy constructor. + * + * @param encoder the ExternalEncoder to copy. + */ inline ExternalEncoder ( const ExternalEncoder & encoder ) throw ( Exception ) @@ -165,14 +247,24 @@ class ExternalEncoder : public AudioEncoder encoder.outFileName ); } - + /** + * Destructor. + * + * @exception Exception + */ inline virtual ~ExternalEncoder ( void ) throw ( Exception ) { strip(); } - + /** + * Assignment operator. + * + * @param encoder the ExternalEncoder to assign this to. + * @return a reference to this ExternalEncoder. + * @exception Exception + */ inline virtual ExternalEncoder & operator= ( const ExternalEncoder & encoder ) throw ( Exception ) { @@ -187,39 +279,67 @@ class ExternalEncoder : public AudioEncoder return *this; } - + /** + * Get the name of the encoder + * (the command to invoke the encoder with). + * + * @return the name of the encoder. + */ const char * getEncoderName ( void ) const throw () { return encoderName; } - + /** + * Get the input file parameter for the encoder. + * + * @return the input file parameter for the encoder. + */ const char * getInFileName ( void ) const throw () { return inFileName; } - + /** + * Get the output file parameter for the encoder. + * + * @return the output file parameter for the encoder. + */ const char * getOutFileName ( void ) const throw () { return outFileName; } - + /** + * Check wether encoding is in progress. + * + * @return true if encoding is in progress, false otherwise. + */ inline virtual bool isRunning ( void ) const throw () { return child != 0; } - + /** + * Start encoding. This function returns as soon as possible, + * with encoding started as a separate process in the + * background. + * + * @return true if encoding has started, false otherwise. + * @exception Exception + */ virtual bool start ( void ) throw ( Exception ); - + /** + * Stop encoding. Stops the encoding running in the background. + * + * @exception Exception + */ virtual void stop ( void ) throw ( Exception ); }; @@ -240,6 +360,9 @@ class ExternalEncoder : public AudioEncoder $Source$ $Log$ + Revision 1.4 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.3 2000/11/05 17:37:24 darkeye removed clone() functions diff --git a/darkice/trunk/src/IceCast.cpp b/darkice/trunk/src/IceCast.cpp index 7ff210e..fd5ff06 100644 --- a/darkice/trunk/src/IceCast.cpp +++ b/darkice/trunk/src/IceCast.cpp @@ -9,27 +9,21 @@ Author : $Author$ Location : $Source$ - Abstract : - - Class representing output to an IceCast server with - x-audiocast login - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ @@ -192,6 +186,9 @@ IceCast :: sendLogin ( void ) throw ( Exception ) $Source$ $Log$ + Revision 1.4 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.3 2000/11/10 20:14:11 darkeye added support for remote dump file diff --git a/darkice/trunk/src/IceCast.h b/darkice/trunk/src/IceCast.h index b898577..21e10d3 100644 --- a/darkice/trunk/src/IceCast.h +++ b/darkice/trunk/src/IceCast.h @@ -9,27 +9,21 @@ Author : $Author$ Location : $Source$ - Abstract : - - Class representing output to an IceCast server with - x-audiocast login - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ #ifndef ICE_CAST_H @@ -55,9 +49,13 @@ /* =============================================================== data types */ -/*------------------------------------------------------------------------------ - * - *----------------------------------------------------------------------------*/ +/** + * Class representing output to an IceCast server with + * x-audiocast login + * + * @author $Author$ + * @version $Revision$ + */ class IceCast : public CastSink { private: @@ -65,19 +63,46 @@ class IceCast : public CastSink protected: + /** + * Default constructor. Always throws an Exception. + * + * @exception Exception + */ inline IceCast ( void ) throw ( Exception ) { throw Exception( __FILE__, __LINE__); } - + /** + * Log in to the server using the socket avialable. + * + * @return true if login was successful, false otherwise. + * @exception Exception + */ virtual bool sendLogin ( void ) throw ( Exception ); public: + /** + * Constructor. + * + * @param socket socket connection to the server. + * @param password password to the server. + * @param mountPoint mount point of the stream on the server. + * @param remoteDumpFile remote dump file (may be NULL). + * @param name name of the stream. + * @param description description of the stream. + * @param url URL associated with the stream. + * @param genre genre of the stream. + * @param bitRate bitrate of the stream (e.g. mp3 bitrate). + * @param isPublic is the stream public? + * @param bufferDuration duration of the BufferedSink buffer + * in seconds. + * @exception Exception + */ inline IceCast ( TcpSocket * socket, const char * password, @@ -105,20 +130,34 @@ class IceCast : public CastSink { } - + /** + * Copy constructor. + * + * @param cs the IceCast to copy. + */ inline IceCast( const IceCast & cs ) throw ( Exception ) : CastSink( cs ) { } - + /** + * Destructor. + * + * @exception Exception + */ inline virtual ~IceCast( void ) throw ( Exception ) { } - + /** + * Assignment operator. + * + * @param cs the IceCast to assign this to. + * @return a reference to this IceCast. + * @exception Exception + */ inline virtual IceCast & operator= ( const IceCast & cs ) throw ( Exception ) { @@ -145,6 +184,9 @@ class IceCast : public CastSink $Source$ $Log$ + Revision 1.4 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.3 2000/11/10 20:14:11 darkeye added support for remote dump file diff --git a/darkice/trunk/src/LameEncoder.cpp b/darkice/trunk/src/LameEncoder.cpp index 34fea61..d442748 100644 --- a/darkice/trunk/src/LameEncoder.cpp +++ b/darkice/trunk/src/LameEncoder.cpp @@ -9,26 +9,21 @@ Author : $Author$ Location : $Source$ - Abstract : - - A class representing the lame mp3 encoder - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ @@ -151,6 +146,9 @@ LameEncoder :: makeArgs ( void ) throw ( Exception ) $Source$ $Log$ + Revision 1.3 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.2 2000/11/05 14:08:28 darkeye changed builting to an automake / autoconf environment diff --git a/darkice/trunk/src/LameEncoder.h b/darkice/trunk/src/LameEncoder.h index 107ccb0..a169c5a 100644 --- a/darkice/trunk/src/LameEncoder.h +++ b/darkice/trunk/src/LameEncoder.h @@ -53,29 +53,58 @@ /* =============================================================== data types */ -/*------------------------------------------------------------------------------ - * - *----------------------------------------------------------------------------*/ +/** + * A class representing the lame mp3 encoder + * + * @author $Author$ + * @version $Revision$ + */ class LameEncoder : public ExternalEncoder { private: + /** + * Highpass filter. Sound frequency in Hz, from where up the + * input is cut. + */ unsigned int lowpass; + + /** + * Lowpass filter. Sound frequency in Hz, from where down the + * input is cut. + */ unsigned int highpass; protected: + /** + * Fill in the list of command line arguments. Puts a 0 + * as the last in the list of args. + * + * @return the number of arguments filled. + * @exception Exception + */ virtual unsigned int makeArgs ( void ) throw ( Exception ); - + /** + * Default constructor. Always throws an Exception. + * + * @exception Exception + */ inline LameEncoder ( void ) throw ( Exception ) { throw Exception( __FILE__, __LINE__); } - + /** + * Initialize the object. + * + * @param lowpass lowpass filter range. + * @param highpass highpass filter range. + * @exception Exception + */ inline void init ( unsigned int lowpass, unsigned int highpass ) throw ( Exception ) @@ -84,7 +113,11 @@ class LameEncoder : public ExternalEncoder this->highpass = highpass; } - + /** + * De-initialize the object. + * + * @exception Exception + */ inline void strip ( void ) throw ( Exception ) { @@ -93,6 +126,31 @@ class LameEncoder : public ExternalEncoder public: + /** + * Constructor. + * + * @param encoderName name of the encoder. + * (the command to invoke the encoder with) + * @param inFileName input file parameter for the encoder. + * @param inSampleRate sample rate of the input. + * @param inBitsPerSample number of bits per sample of the input. + * @param inChannel number of channels of the input. + * @param outFileName output file parameter for the encoder. + * @param outBitrate bit rate of the output (bits/sec). + * @param outSampleRate sample rate of the output. + * If 0, inSampleRate is used. + * @param outChannel number of channels of the output. + * If 0, inChannel is used. + * @param lowpass frequency threshold for the lowpass filter. + * Input above this frequency is cut. + * If 0, lame's default values are used, + * which depends on the out sample rate. + * @param highpass frequency threshold for the highpass filter. + * Input below this frequency is cut. + * If 0, lame's default values are used, + * which depends on the out sample rate. + * @exception Exception + */ inline LameEncoder ( const char * encoderName, const char * inFileName, @@ -120,7 +178,30 @@ class LameEncoder : public ExternalEncoder init( lowpass, highpass); } - + /** + * Constructor. + * + * @param encoderName name of the encoder. + * (the command to invoke the encoder with) + * @param inFileName input file parameter for the encoder. + * @param as get input sample rate, bits per sample and channels + * from this AudioSource. + * @param outFileName output file parameter for the encoder. + * @param outBitrate bit rate of the output (bits/sec). + * @param outSampleRate sample rate of the output. + * If 0, inSampleRate is used. + * @param outChannel number of channels of the output. + * If 0, inChannel is used. + * @param lowpass frequency threshold for the lowpass filter. + * Input above this frequency is cut. + * If 0, lame's default values are used, + * which depends on the out sample rate. + * @param highpass frequency threshold for the highpass filter. + * Input below this frequency is cut. + * If 0, lame's default values are used, + * which depends on the out sample rate. + * @exception Exception + */ inline LameEncoder ( const char * encoderName, const char * inFileName, @@ -144,7 +225,11 @@ class LameEncoder : public ExternalEncoder init( lowpass, highpass); } - + /** + * Copy constructor. + * + * @param encoder the LameEncoder to copy. + */ inline LameEncoder ( const LameEncoder & encoder ) throw ( Exception ) : ExternalEncoder( encoder ) @@ -152,14 +237,24 @@ class LameEncoder : public ExternalEncoder init( encoder.lowpass, encoder.highpass); } - + /** + * Destructor. + * + * @exception Exception + */ inline virtual ~LameEncoder ( void ) throw ( Exception ) { strip(); } - + /** + * Assignment operator. + * + * @param encoder the LameEncoder to assign this to. + * @return a reference to this LameEncoder. + * @exception Exception + */ inline virtual LameEncoder & operator= ( const LameEncoder & encoder ) throw ( Exception ) { @@ -172,14 +267,26 @@ class LameEncoder : public ExternalEncoder return *this; } - + /** + * Get the lowpass filter threshold. Sound frequency in Hz, + * from where up the input is cut. + * + * @return the lowpass filter threshold. + */ inline unsigned int getLowpass ( void ) const throw () { return lowpass; } - + /** + * Set the lowpass filter threshold. Sound frequency in Hz, + * from where up the input is cut. + * Can be only set if encoding is not in progress. + * + * @param lowpass the lowpass filter threshold. + * @return if setting is successful. + */ inline bool setLowpass ( unsigned int lowpass ) throw () { @@ -191,14 +298,26 @@ class LameEncoder : public ExternalEncoder } } - + /** + * Get the highpass filter threshold. Sound frequency in Hz, + * from where down the input is cut. + * + * @return the highpass filter threshold. + */ inline unsigned int getHighpass ( void ) const throw () { return highpass; } - + /** + * Set the highpass filter threshold. Sound frequency in Hz, + * from where down the input is cut. + * Can be only set if encoding is not in progress. + * + * @param highpass the highpass filter threshold. + * @return if setting is successful. + */ inline bool setHighpass ( unsigned int highpass ) throw () { @@ -229,6 +348,9 @@ class LameEncoder : public ExternalEncoder $Source$ $Log$ + Revision 1.3 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.2 2000/11/05 17:37:24 darkeye removed clone() functions diff --git a/darkice/trunk/src/TcpSocket.cpp b/darkice/trunk/src/TcpSocket.cpp index 6206057..44f62b7 100644 --- a/darkice/trunk/src/TcpSocket.cpp +++ b/darkice/trunk/src/TcpSocket.cpp @@ -9,26 +9,21 @@ Author : $Author$ Location : $Source$ - Abstract : - - A TCP network socket - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ @@ -353,6 +348,9 @@ TcpSocket :: close ( void ) throw ( Exception ) $Source$ $Log$ + Revision 1.3 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.2 2000/11/05 14:08:28 darkeye changed builting to an automake / autoconf environment diff --git a/darkice/trunk/src/TcpSocket.h b/darkice/trunk/src/TcpSocket.h index 80a6776..df8d4cb 100644 --- a/darkice/trunk/src/TcpSocket.h +++ b/darkice/trunk/src/TcpSocket.h @@ -9,26 +9,21 @@ Author : $Author$ Location : $Source$ - Abstract : - - A TCP network socket - Copyright notice: - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program 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 General Public License for more details. - - 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - USA. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ------------------------------------------------------------------------------*/ #ifndef TCP_SOCKET_H @@ -53,29 +48,58 @@ /* =============================================================== data types */ -/*------------------------------------------------------------------------------ - * - *----------------------------------------------------------------------------*/ +/** + * A TCP network socket + * + * @author $Author$ + * @version $Revision$ + */ class TcpSocket : public Source, public Sink { private: + /** + * Name of the host this socket connects to. + */ char * host; + + /** + * Port to connect to. + */ unsigned short port; + /** + * Low-level socket descriptor. + */ int sockfd; + /** + * Initialize the object. + * + * @param host name of the host this socket connects to. + * @param port port to connect to. + * @exception Exception + */ void init ( const char * host, unsigned short port ) throw ( Exception ); - + /** + * De-initialize the object. + * + * @exception Exception + */ void strip ( void ) throw ( Exception ); protected: + /** + * Default constructor. Always throws an Exception. + * + * @exception Exception + */ inline TcpSocket ( void ) throw ( Exception ) { @@ -85,79 +109,160 @@ class TcpSocket : public Source, public Sink public: + /** + * Constructor. + * + * @param host name of the host this socket connects to. + * @param port port to connect to. + * @exception Exception + */ inline TcpSocket( const char * host, - unsigned short port ) throw ( Exception ) + unsigned short port ) throw ( Exception ) { init( host, port); } - + /** + * Copy constructor. + * + * @param ss the TcpSocket to copy. + * @exception Exception + */ TcpSocket( const TcpSocket & ss ) throw ( Exception ); - + /** + * Destructor. + * + * @exception Exception + */ inline virtual ~TcpSocket( void ) throw ( Exception ) { strip(); } - + /** + * Assignment operator. + * + * @param ss the TcpSocket to assign this to. + * @return a reference to this TcpSocket. + * @exception Exception + */ inline virtual TcpSocket & operator= ( const TcpSocket & ss ) throw ( Exception ); - + /** + * Get the host this socket connects to. + * + * @return the host this socket connects to. + */ inline const char * getHost ( void ) const throw () { return host; } - + /** + * Get the port this socket connects to. + * + * @return the port this socket connects to. + */ inline unsigned int getPort ( void ) const throw () { return port; } - + /** + * Open the TcpSocket. + * + * @return true if opening was successfull, false otherwise. + * @exception Exception + */ virtual bool open ( void ) throw ( Exception ); - + /** + * Check if the TcpSocket is open. + * + * @return true if the TcpSocket is open, false otherwise. + */ inline virtual bool isOpen ( void ) const throw () { return sockfd != 0; } - + /** + * Check if the TcpScoket can be read from. + * Blocks until the specified time for data to be available. + * + * @param sec the maximum seconds to block. + * @param usec micro seconds to block after the full seconds. + * @return true if the TcpSocket is ready to be read from, + * false otherwise. + * @exception Exception + */ virtual bool canRead ( unsigned int sec, unsigned int usec ) throw ( Exception ); - + /** + * Read from the TcpSocket. + * + * @param buf the buffer to read into. + * @param len the number of bytes to read into buf + * @return the number of bytes read (may be less than len). + * @exception Exception + */ virtual unsigned int read ( void * buf, unsigned int len ) throw ( Exception ); + /** + * Check if the TcpSocket is ready to accept data. + * Blocks until the specified time for data to be available. + * + * @param sec the maximum seconds to block. + * @param usec micro seconds to block after the full seconds. + * @return true if the TcpSocket is ready to accept data, + * false otherwise. + * @exception Exception + */ virtual bool canWrite ( unsigned int sec, unsigned int usec ) throw ( Exception ); - + /** + * Write data to the TcpSocket. + * + * @param buf the data to write. + * @param len number of bytes to write from buf. + * @return the number of bytes written (may be less than len). + * @exception Exception + */ virtual unsigned int write ( const void * buf, unsigned int len ) throw ( Exception ); - + /** + * Flush all data that was written to the TcpSocket to the underlying + * connection. + * + * @exception Exception + */ inline virtual void flush ( void ) throw ( Exception ) { } - + /** + * Close the TcpSocket. + * + * @exception Exception + */ virtual void close ( void ) throw ( Exception ); }; @@ -178,6 +283,9 @@ class TcpSocket : public Source, public Sink $Source$ $Log$ + Revision 1.3 2000/11/12 14:54:50 darkeye + added kdoc-style documentation comments + Revision 1.2 2000/11/05 17:37:24 darkeye removed clone() functions