#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.
FdWatchType Async::FdWatch::type | ( | void | ) | const [inline] |
Return the type of this watch.
Definition at line 157 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. |
bool Async::FdWatch::isEnabled | ( | void | ) | const [inline] |
Check if the watch is enabled or not.
Definition at line 170 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.