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