diff options
| author | vovanec <vovanec@90c681e8-e032-0410-971d-27865f9a5e38> | 2007-09-27 21:24:44 +0000 |
|---|---|---|
| committer | vovanec <vovanec@90c681e8-e032-0410-971d-27865f9a5e38> | 2007-09-27 21:24:44 +0000 |
| commit | 381f4fed30fe4e5408cddf7e540ce2deca1b3baf (patch) | |
| tree | c830e6dc158db0f6e4fb70c45435b91122108823 /src/unixdomainsocket.h | |
| parent | 0521ee9675e9434c240094a6c9e5ee15eaa9ee43 (diff) | |
| download | qmmp-381f4fed30fe4e5408cddf7e540ce2deca1b3baf.tar.gz qmmp-381f4fed30fe4e5408cddf7e540ce2deca1b3baf.tar.bz2 qmmp-381f4fed30fe4e5408cddf7e540ce2deca1b3baf.zip | |
redesigned command line interface
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@162 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/unixdomainsocket.h')
| -rw-r--r-- | src/unixdomainsocket.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/unixdomainsocket.h b/src/unixdomainsocket.h new file mode 100644 index 000000000..7538e685a --- /dev/null +++ b/src/unixdomainsocket.h @@ -0,0 +1,46 @@ +#ifndef UNIXDOMAINSOCKET_H +#define UNIXDOMAINSOCKET_H + +#include <QUdpSocket> +#include <sys/socket.h> +#include <netinet/in.h> +#include <sys/types.h> +#include <linux/un.h> + + +/*! + * UnixDomainSocket class is a wrapper around the unix domain sockets implementation. + * Used for QMMP interprocess communications. + * @author Vladimir Kuznetsov <vovanec@gmail.com> + */ +class UnixDomainSocket : public QUdpSocket +{ +Q_OBJECT +public: + UnixDomainSocket(QObject * parent = 0 ); + + /*! + * Try to bind socket to \b path. Returns \b true on success, otherwise \b false + */ + bool bind(const QString& file); + + /*! + * Checks if socket at \b path path is alive( i.e. connectable). + */ + bool alive(const QString& path); + ~UnixDomainSocket(); + +public slots: + /*! + * Sends the datagram \b command to the socket at \b path path. + */ + void writeDatagram(const char* command,const QString& path); +private: + unsigned int _s; + struct sockaddr_un _local; + bool _binded; +}; + + +#endif + |
