You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdegames/libksirtet/lib/socket.h

66 lines
1.3 KiB

#ifndef SOCKET_H
#define SOCKET_H
#include <tqsocketnotifier.h>
#include <kextsock.h>
#include "types.h"
class Socket
{
public:
Socket(KExtendedSocket *, bool createNotifier = FALSE,
TQObject *parent = 0, const char *name = 0);
/** close the socket */
~Socket();
int fd() const { return _socket->fd(); }
/**
* Accept a new socket.
*/
int accept(KExtendedSocket *&);
/**
* @return the socket notifier associated with the socket
* (0 if none).
*/
TQSocketNotifier *notifier() const { return _notifier; }
/**
* Write data contained in the writing stream to the socket.
* It clears the stream.
* @return TRUE if all was written without error.
*/
bool write();
bool write(const TQByteArray &a);
/** @return the TQDataStream for writing. */
WritingStream &writingStream() { return writing; }
/** @return the size of pending data. */
int pendingData() const;
/**
* Read data from socket and append them to reading stream for the specified socket.
* The portion of the stream that has been read is cleared.
* @return the read size or -1 on error
*/
int read();
/** @return the reading stream. */
ReadingStream &readingStream() { return reading; }
private:
KExtendedSocket *_socket;
TQSocketNotifier *_notifier;
WritingStream writing;
ReadingStream reading;
};
#endif // SOCKET_H