]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/adaptation/Config.h
1 #ifndef SQUID_ADAPTATION__CONFIG_H
2 #define SQUID_ADAPTATION__CONFIG_H
6 #include "adaptation/Elements.h"
14 namespace Adaptation
{
20 typedef RefCount
<Service
> ServicePointer
;
28 static void Finalize(bool enable
);
30 static void ParseServiceSet(void);
31 static void FreeServiceSet(void);
32 static void DumpServiceSet(StoreEntry
*, const char *);
34 static void ParseAccess(ConfigParser
&parser
);
35 static void FreeAccess(void);
36 static void DumpAccess(StoreEntry
*, const char *);
38 friend class AccessCheck
;
41 static bool Enabled
; // true if at least one adaptation mechanism is
45 int send_client_username
;
46 int service_failure_limit
;
47 int service_revival_delay
;
49 Vector
<ServiceConfig
*> serviceConfigs
;
54 void parseService(void);
55 void freeService(void);
56 void dumpService(StoreEntry
*, const char *) const;
57 ServicePointer
findService(const String
&);
58 Class
* findClass(const String
& key
);
60 virtual void finalize();
63 Config(const Config
&); // unsupported
64 Config
&operator =(const Config
&); // unsupported
66 virtual ServicePointer
createService(const ServiceConfig
&cfg
) = 0;
69 } // namespace Adaptation
71 #endif /* SQUID_ADAPTATION__CONFIG_H */