]> git.llucax.com Git - software/eventxx.git/blobdiff - test/mixed-way.cpp
Add doc subdirectory to .gitignore
[software/eventxx.git] / test / mixed-way.cpp
index 02dfabc34103fee54e8df5cd4cfbe6015a5f9ffc..f3238b2ddc0ca4df2c3baf7ea43a231eeba7dd6b 100644 (file)
@@ -7,8 +7,9 @@ struct handler
        eventxx::dispatcher& d;
        int i;
        handler(eventxx::dispatcher& d): d(d), i(0) {}
-       void operator() (int signum, short event)
+       void operator() (int signum, eventxx::type event)
        {
+               std::cout << ++i << " interrupts, ";
                if (i < 5) std::cout << "keep going...\n";
                else
                {
@@ -18,19 +19,18 @@ struct handler
        }
 };
 
-void sighandler(int signum, short event, void* data)
+void timer_handler(int, short, void*)
 {
-       int& i = *static_cast< int* >(data);
-       std::cout << ++i << " interrupts, ";
+       std::cout << "Press Ctrl-C 5 times to quit.\n";
 }
 
 int main()
 {
        eventxx::dispatcher d;
        handler h(d);
-       eventxx::csignal sigev(SIGINT, sighandler, &h.i);
+       eventxx::ctimer t(timer_handler);
        eventxx::signal< handler > e(SIGINT, h);
-       d.add(sigev);
+       d.add(t, eventxx::time(1)); // 1 second
        d.add(e);
        d.dispatch();
        return 0;