diff options
author | Timothy Pearson <[email protected]> | 2012-01-30 20:18:15 -0600 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2012-01-30 20:18:15 -0600 |
commit | 255918c59ce22a1523436e8a9b703c54e753106f (patch) | |
tree | 42037c692227e57be17c87e0c1ea898e15169127 /tdecore/network/ksocketbuffer_p.h | |
parent | ee0c55320dd17dd6cbef85a9bbaa00259ee7eb9a (diff) | |
download | tdelibs-255918c59ce22a1523436e8a9b703c54e753106f.tar.gz tdelibs-255918c59ce22a1523436e8a9b703c54e753106f.zip |
Part 2 of prior commit
Diffstat (limited to 'tdecore/network/ksocketbuffer_p.h')
-rw-r--r-- | tdecore/network/ksocketbuffer_p.h | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/tdecore/network/ksocketbuffer_p.h b/tdecore/network/ksocketbuffer_p.h deleted file mode 100644 index b2c5dc6b2..000000000 --- a/tdecore/network/ksocketbuffer_p.h +++ /dev/null @@ -1,164 +0,0 @@ -/* -*- C++ -*- - * Copyright (C) 2003 Thiago Macieira <[email protected]> - * - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#ifndef TDESOCKETBUFFER_P_H -#define TDESOCKETBUFFER_P_H - -#include <tqmutex.h> -#include <tqcstring.h> -#include <tqvaluelist.h> -#include "kiobuffer.h" - -namespace KNetwork { - -class KActiveSocketBase; - - namespace Internal { - -/** - * @internal - * @class KSocketBuffer tdesocketbuffer_p.h tdesocketbuffer_p.h - * @brief generic socket buffering code - * - * This class implements generic buffering used by @ref KBufferedSocket. - * - * @author Thiago Macieira <[email protected]> - */ -class KSocketBuffer: public KIOBufferBase -{ -public: - /** - * Default constructor. - * - * @param size the maximum size of the buffer - */ - KSocketBuffer(TQ_LONG size = -1); - - /** - * Copy constructor. - */ - KSocketBuffer(const KSocketBuffer& other); - - /** - * Virtual destructor. Frees the buffer and discards its contents. - */ - virtual ~KSocketBuffer(); - - /** - * Assignment operator. - */ - KSocketBuffer& operator=(const KSocketBuffer& other); - - /** - * Returns true if a line can be read from the buffer. - */ - virtual bool canReadLine() const; - - /** - * Reads a line from the buffer and discard it from the buffer. - */ - virtual TQCString readLine(); - - /** - * Returns the number of bytes in the buffer. Note that this is not - * the size of the buffer. - * - * @sa size - */ - virtual TQ_LONG length() const; - - /** - * Retrieves the buffer size. The value of -1 indicates that - * the buffer has no defined upper limit. - * - * @sa length for the length of the data stored - */ - virtual TQ_LONG size() const; - - /** - * Sets the size of the buffer, if allowed. - * - * @param size the maximum size, use -1 for unlimited. - * @returns true on success, false if an error occurred. - * @note if the new size is less than length(), the buffer will be truncated - */ - virtual bool setSize(TQ_LONG size); - - /** - * Adds data to the end of the buffer. - * - * @param data the data to be added - * @param len the data length, in bytes - * @returns the number of bytes added to the end of the buffer. - */ - virtual TQ_LONG feedBuffer(const char *data, TQ_LONG len); - - /** - * Clears the buffer. - */ - virtual void clear(); - - /** - * Consumes data from the beginning of the buffer. - * - * @param data where to copy the data to - * @param maxlen the maximum length to copy, in bytes - * @param discard if true, the bytes copied will be discarded - * @returns the number of bytes copied from the buffer - */ - virtual TQ_LONG consumeBuffer(char *data, TQ_LONG maxlen, bool discard = true); - - /** - * Sends at most @p len bytes of data to the I/O Device. - * - * @param device the device to which to send data - * @param len the amount of data to send; -1 to send everything - * @returns the number of bytes sent and discarded from the buffer, -1 - * indicates an error. - */ - virtual TQ_LONG sendTo(KActiveSocketBase* device, TQ_LONG len = -1); - - /** - * Tries to receive @p len bytes of data from the I/O device. - * - * @param device the device to receive from - * @param len the number of bytes to receive; -1 to read as much - * as possible - * @returns the number of bytes received and copied into the buffer, - * -1 indicates an error. - */ - virtual TQ_LONG receiveFrom(KActiveSocketBase* device, TQ_LONG len = -1); - -protected: - mutable TQMutex m_mutex; - TQValueList<TQByteArray> m_list; - TQIODevice::Offset m_offset; ///< offset of the start of data in the first element - - TQ_LONG m_size; ///< the maximum length of the buffer - mutable TQ_LONG m_length; -}; - -} } // namespace KNetwork::Internal - -#endif |