362c1f4c3b5ce9e3fce11167a51fbe4cdb2174de
Stefan Schuermans implemented base class for...

Stefan Schuermans authored 13 years ago

1) /* Blinker
Stefan Schuermans update copyright header

Stefan Schuermans authored 5 years ago

2)    Copyright 2011-2019 Stefan Schuermans <stefan@blinkenarea.org>
Stefan Schuermans implemented base class for...

Stefan Schuermans authored 13 years ago

3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
4)    a blinkenarea.org project */
5) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

6) #ifndef BLINKER_IO_H
7) #define BLINKER_IO_H
Stefan Schuermans implemented base class for...

Stefan Schuermans authored 13 years ago

8) 
9) #include <set>
10) 
11) #include "Time.h"
12) 
13) namespace Blinker {
14) 
15) /// base class for I/O objects
16) class Io
17) {
18) public:
19)   /// set of I/O objects
20)   typedef std::set<Io *> Set;
21) 
22) public:
23)   /**
24)    * @brief wait for I/O events
25)    * @param[in] read I/O objects to check for readability
26)    * @param[out] read I/O objects that are readable
27)    * @param[in] write I/O objects to check for writability
28)    * @param[out] write I/O objects that are writable
29)    * @param[in] timeout maximum time to wait
30)    */
31)   static void wait(Set &read, Set &write, const Time &timeout);
32) 
33) public:
34)   /// constructor
35)   Io();
36) 
37) private:
38)   /// copy constructor disabled
39)   Io(const Io &that);
40) 
41)   /// assignment operator disabled
42)   const Io & operator=(const Io &that);
43) 
44) protected:
45)   int m_fd; ///< file descriptor
46) }; // class Io
47) 
48) } // namespace Blinker
49) 
Stefan Schuermans namespace for preprocessor...

Stefan Schuermans authored 12 years ago

50) #endif // #ifndef BLINKER_IO_H