summaryrefslogtreecommitdiffabout
path: root/include/napkin/types.h
blob: 2bc3a0a8f57ab3624896c810e552eb2ed8ef0e6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef __NAPKIN_TYPES_H
#define __NAPKIN_TYPES_H

#include <time.h>
#include <string>
#include <vector>
#include <tr1/memory>

namespace napkin {
    using std::vector;
    using std::tr1::shared_ptr;
    using std::string;

    class hypnodata_t {
	public:
	    time_t to_bed;
	    time_t alarm;
	    int window;
	    vector<time_t> almost_awakes;
	    int data_a;

	    void clear();

	    void set_to_bed(const string& w3c);
	    void set_alarm(const string& w3c);
	    void set_window(const string& str);
	    void set_data_a(const string& str);
	    void set_almost_awakes(const string& str);

	    const string w3c_to_bed() const;
	    const string w3c_alarm() const;
	    const string w3c_almostawakes() const;

	    const string str_to_bed() const;
	    const string str_alarm() const;
	    const string str_date() const;
	    const string str_data_a() const;

	    time_t aligned_start() const;
    };

    typedef shared_ptr<hypnodata_t> hypnodata_ptr_t;

}

#endif /* __NAPKIN_TYPES_H */