]> git.ipfire.org Git - thirdparty/squid.git/blame - src/esi/Literal.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / src / esi / Literal.h
CommitLineData
43ae1d95 1/*
b8ae064d 2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
43ae1d95 3 *
bbc27441
AJ
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.
43ae1d95 7 */
8
bbc27441
AJ
9/* DEBUG: section 86 ESI processing */
10
43ae1d95 11#ifndef SQUID_ESILITERAL_H
12#define SQUID_ESILITERAL_H
13
f99c2cfe 14#include "esi/Element.h"
43ae1d95 15
16class ESIContext;
43ae1d95 17
741c2986
AJ
18class esiLiteral : public ESIElement
19{
b001e822 20 MEMPROXY_CLASS(esiLiteral);
43ae1d95 21
741c2986 22public:
43ae1d95 23 esiLiteral(ESISegment::Pointer);
24 esiLiteral(ESIContext *, const char *s, int len);
337b9aa4 25 ~esiLiteral() override;
43ae1d95 26
337b9aa4
AR
27 void render(ESISegment::Pointer) override;
28 esiProcessResult_t process (int dovars) override;
29 Pointer makeCacheable() const override;
30 Pointer makeUsable(esiTreeParentPtr, ESIVarState &) const override;
43ae1d95 31 /* optimise copies away later */
32 ESISegment::Pointer buffer;
33
26ac0430 34 struct {
3d0ac046
HN
35 int donevars:1;
36 } flags;
43ae1d95 37
924f73bc 38 ESIVarState *varState;
337b9aa4 39 void finish() override;
43ae1d95 40
41private:
43ae1d95 42 esiLiteral(esiLiteral const &);
43};
44
45#endif /* SQUID_ESILITERAL_H */
f53969cc 46