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_ACLPROTOCOLDATA_H
10 #define SQUID_ACLPROTOCOLDATA_H
11 
12 #include "acl/Acl.h"
13 #include "acl/Data.h"
14 #include "anyp/ProtocolType.h"
15 
16 #include <list>
17 
18 class ACLProtocolData : public ACLData<AnyP::ProtocolType>
19 {
20     MEMPROXY_CLASS(ACLProtocolData);
21 
22 public:
ACLProtocolData()23     ACLProtocolData() {}
24     ACLProtocolData(ACLProtocolData const &);
25     ACLProtocolData &operator= (ACLProtocolData const &);
26     virtual ~ACLProtocolData();
27     bool match(AnyP::ProtocolType);
28     virtual SBufList dump() const;
29     void parse();
empty()30     bool empty() const {return values.empty();}
31     virtual ACLData<AnyP::ProtocolType> *clone() const;
32 
33     std::list<AnyP::ProtocolType> values;
34 };
35 
36 #endif /* SQUID_ACLPROTOCOLDATA_H */
37 
38