summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndreas Volz <andreas@er00923n.(none)>2010-08-12 22:48:05 +0200
committerAndreas Volz <andreas@er00923n.(none)>2010-08-12 22:48:05 +0200
commitf0dcaa239f589106328fe325d498bbc810b2805a (patch)
treeba1ea150e5a364bc92dee56307a71465ad650184 /include
parenta416700e448b336a3443547db67f5c62178210f3 (diff)
downloaddbus-c++-f0dcaa239f589106328fe325d498bbc810b2805a.tar.gz
moved pipe to extra files
Diffstat (limited to 'include')
-rw-r--r--include/dbus-c++/dbus.h1
-rw-r--r--include/dbus-c++/eventloop-integration.h31
-rw-r--r--include/dbus-c++/pipe.h67
3 files changed, 69 insertions, 30 deletions
diff --git a/include/dbus-c++/dbus.h b/include/dbus-c++/dbus.h
index 7dfc164..80893cb 100644
--- a/include/dbus-c++/dbus.h
+++ b/include/dbus-c++/dbus.h
@@ -41,5 +41,6 @@
#include "eventloop.h"
#include "eventloop-integration.h"
#include "introspection.h"
+#include "pipe.h"
#endif//__DBUSXX_DBUS_H
diff --git a/include/dbus-c++/eventloop-integration.h b/include/dbus-c++/eventloop-integration.h
index 213695d..0459ebf 100644
--- a/include/dbus-c++/eventloop-integration.h
+++ b/include/dbus-c++/eventloop-integration.h
@@ -38,6 +38,7 @@ namespace DBus {
*/
class BusDispatcher;
+class Pipe;
class DXXAPI BusTimeout : public Timeout, public DefaultTimeout
{
@@ -57,36 +58,6 @@ class DXXAPI BusWatch : public Watch, public DefaultWatch
friend class BusDispatcher;
};
-class DXXAPI Pipe
-{
-public:
- /*!
- * Write some data into the communication pipe.
- *
- * @param buffer The raw data to write.
- * @param nbytes The number of bytes to write from the buffer.
- */
- void write(const void *buffer, unsigned int nbytes);
-
- /*!
- * Simply write one single byte into the pipe. This is a shortcut
- * if there's really no data to transport, but to activate the handler.
- */
- void signal();
-
-private:
- void(*_handler)(const void *data, void *buffer, unsigned int nbyte);
- int fd_write;
- int fd_read;
- const void *data;
-
- // allow construction only in BusDispatcher
- Pipe () {};
- ~Pipe () {};
-
-friend class BusDispatcher;
-};
-
class DXXAPI BusDispatcher : public Dispatcher, public DefaultMainLoop
{
public:
diff --git a/include/dbus-c++/pipe.h b/include/dbus-c++/pipe.h
new file mode 100644
index 0000000..c994b6e
--- /dev/null
+++ b/include/dbus-c++/pipe.h
@@ -0,0 +1,67 @@
+/*
+ *
+ * D-Bus++ - C++ bindings for D-Bus
+ *
+ * Copyright (C) 2005-2007 Paolo Durante <shackan@gmail.com>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+#ifndef DBUSXX_PIPE_H
+#define DBUSXX_PIPE_H
+
+/* Project */
+#include "api.h"
+
+/* STD */
+#include <cstdlib>
+
+namespace DBus {
+
+class DXXAPI Pipe
+{
+public:
+ /*!
+ * Write some data into the communication pipe.
+ *
+ * @param buffer The raw data to write.
+ * @param nbytes The number of bytes to write from the buffer.
+ */
+ void write(const void *buffer, unsigned int nbytes);
+
+ /*!
+ * Simply write one single byte into the pipe. This is a shortcut
+ * if there's really no data to transport, but to activate the handler.
+ */
+ void signal();
+
+private:
+ void(*_handler)(const void *data, void *buffer, unsigned int nbyte);
+ int fd_write;
+ int fd_read;
+ const void *data;
+
+ // allow construction only in BusDispatcher
+ Pipe ();
+ ~Pipe () {};
+
+friend class BusDispatcher;
+};
+
+} /* namespace DBus */
+
+#endif // DBUSXX_PIPE_H