#include <AsyncFdWatch.h>
#include <unistd.h> #include <cstdio> #include <iostream> #include <AsyncCppApplication.h> #include <AsyncFdWatch.h> using namespace std; using namespace Async; class MyClass : public SigC::Object { public: MyClass(void) { stdin_watch = new FdWatch(STDIN_FILENO, FdWatch::FD_WATCH_RD); stdin_watch->activity.connect(slot(*this, &MyClass::onActivity)); } ~MyClass(void) { delete stdin_watch; } private: FdWatch *stdin_watch; void onActivity(FdWatch *watch) { char buf[1024]; int cnt = read(watch->fd(), buf, sizeof(buf)-1); if (cnt == -1) { perror("read"); Application::app().quit(); return; } buf[cnt] = 0; cout << "Read from STDIN: " << buf << endl; } }; int main(int argc, char **argv) { CppApplication app; MyClass my_class; app.exec(); }
Definition at line 119 of file AsyncFdWatch.h.
The type of the file descriptor watch.
| FD_WATCH_RD | File descriptor watch for incoming data. |
| FD_WATCH_WR | File descriptor watch for outgoing data. |
Definition at line 125 of file AsyncFdWatch.h.
| Async::FdWatch::FdWatch | ( | int | fd, | |
| FdWatchType | type | |||
| ) |
Constructor.
Add the given file descriptor to the watch list and watch it for incoming data (FD_WATCH_RD) or write buffer space available (FD_WATCH_WR).
| fd | The file descriptor to watch | |
| type | The type of watch to create (see FdWatchType) |
| Async::FdWatch::~FdWatch | ( | void | ) |
Destructor.
| int Async::FdWatch::fd | ( | void | ) | const [inline] |
Return the file descriptor being watched.
Definition at line 151 of file AsyncFdWatch.h.
| bool Async::FdWatch::isEnabled | ( | void | ) | const [inline] |
Check if the watch is enabled or not.
Definition at line 170 of file AsyncFdWatch.h.
| void Async::FdWatch::setEnabled | ( | bool | enabled | ) |
Enable or disable the watch.
| enabled | Set to true to enable the watch or false to disable it. |
| FdWatchType Async::FdWatch::type | ( | void | ) | const [inline] |
Return the type of this watch.
Definition at line 157 of file AsyncFdWatch.h.
| SigC::Signal1<void, FdWatch*> Async::FdWatch::activity |
Signal to indicate that the descriptor is active.
| watch | Pointer to the watch object |
Definition at line 176 of file AsyncFdWatch.h.
1.5.7.1