]> git.ipfire.org Git - thirdparty/squid.git/blob - src/esi/Literal.h
Docs: Copyright updates for 2018 (#114)
[thirdparty/squid.git] / src / esi / Literal.h
1 /*
2 * Copyright (C) 1996-2018 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 /* DEBUG: section 86 ESI processing */
10
11 #ifndef SQUID_ESILITERAL_H
12 #define SQUID_ESILITERAL_H
13
14 #include "esi/Element.h"
15
16 class ESIContext;
17
18 class esiLiteral : public ESIElement
19 {
20 MEMPROXY_CLASS(esiLiteral);
21
22 public:
23 esiLiteral(ESISegment::Pointer);
24 esiLiteral(ESIContext *, const char *s, int len);
25 ~esiLiteral();
26
27 void render(ESISegment::Pointer);
28 esiProcessResult_t process (int dovars);
29 Pointer makeCacheable() const;
30 Pointer makeUsable(esiTreeParentPtr, ESIVarState &) const;
31 /* optimise copies away later */
32 ESISegment::Pointer buffer;
33
34 struct {
35 int donevars:1;
36 } flags;
37
38 ESIVarState *varState;
39 void finish();
40
41 private:
42 esiLiteral(esiLiteral const &);
43 };
44
45 #endif /* SQUID_ESILITERAL_H */
46