1 /*
2  * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #ifndef SQUID_ACLTIMEDATA_H
10 #define SQUID_ACLTIMEDATA_H
11 
12 #include "acl/Acl.h"
13 #include "acl/Data.h"
14 #include "splay.h"
15 
16 class ACLTimeData : public ACLData<time_t>
17 {
18     MEMPROXY_CLASS(ACLTimeData);
19 
20 public:
21     ACLTimeData();
22     ACLTimeData(ACLTimeData const &);
23     ACLTimeData&operator=(ACLTimeData const &);
24     virtual ~ACLTimeData();
25     bool match(time_t);
26     virtual SBufList dump() const;
27     void parse();
28     bool empty() const;
29     virtual ACLData<time_t> *clone() const;
30 
31 private:
32     int weekbits;
33     int start;
34     int stop;
35     ACLTimeData *next;
36 };
37 
38 #endif /* SQUID_ACLTIMEDATA_H */
39 
40