cce867dba7e3c539592a4e0dc726d075964c23a6
Stefan Schuermans implement file and time for...

Stefan Schuermans authored 7 years ago

1) /* Blinker
2)    Copyright 2011-2014 Stefan Schuermans <stefan@blinkenarea.org>
3)    Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html
4)    a blinkenarea.org project */
5) 
6) #ifndef BLINKER_TIME_H
7) #define BLINKER_TIME_H
8) 
Stefan Schuermans include order for Windows

Stefan Schuermans authored 7 years ago

9) #include <winsock2.h> // not allowed after windows.h, so include here
Stefan Schuermans implement file and time for...

Stefan Schuermans authored 7 years ago

10) #include <windows.h>
11) #include <stdint.h>
12) 
13) namespace Blinker {
14) 
15) /// time, either point in time or duration
16) class Time
17) {
18) public:
19)   static const Time zero; ///< zero time
20) 
21) public:
22)   /**
23)    * @brief get current time
24)    * @return current time
25)    */
26)   static Time now();
27) 
28) public:
29)   /// constructor
30)   Time();
31) 
32)   /**
33)    * @brief constructor from seconds
34)    * @param[in] t time in seconds
35)    */
36)   Time(time_t t);
37) 
38) public:
39)   /// comparison
40)   //@{
41)   int compare(const Time &that) const;
42)   bool operator==(const Time &that) const;
43)   bool operator!=(const Time &that) const;
44)   bool operator<(const Time &that) const;
45)   bool operator>(const Time &that) const;
46)   bool operator<=(const Time &that) const;
47)   bool operator>=(const Time &that) const;
48)   //@}
49) 
50)   /// arithmetic
51)   //@{
52)   const Time & operator+=(const Time &that);
53)   const Time & operator-=(const Time &that);
54)   Time operator+(const Time &that) const;
55)   Time operator-(const Time &that) const;
56)   //@}
57) 
58)   /**
59)    * @brief convert from floating point seconds
60)    * @param[in] s time in seconds
61)    */
62)   void fromFloatSec(float s);
63) 
64)   /**
65)    * @brief convert from milliseconds
66)    * @param[in] ms milliseconds
67)    */
68)   void fromMs(int ms);
69) 
70)   /**
71)    * @brief convert to seconds
72)    * @return seconds
73)    */
74)   time_t toSec() const;
75) 
76)   /**
77)    * @brief convert to floating point seconds
78)    * @return time in seconds
79)    */
80)   float toFloatSec() const;
81) 
Stefan Schuermans fix Windows socket poll

Stefan Schuermans authored 7 years ago

82)   /**
83)    * @brief convert to milliseconds
84)    * @return milliseconds
85)    */
86)   int toMs() const;
87) 
Stefan Schuermans IO for Windows

Stefan Schuermans authored 7 years ago

88)   /**
89)    * @brief convert to struct timeval
90)    * @param[out] tv struct timeval
91)    */
92)   void toTimeval(struct timeval &tv) const;
93)