Assign.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 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_ESIASSIGN_H
12#define SQUID_ESIASSIGN_H
13
14#include "esi/Element.h"
15#include "esi/VarState.h"
16#include "SquidString.h"
17
20{
21public:
22 ~ESIVariableExpression() override;
23 ESIVariableExpression (String const &value);
24 void eval (ESIVarState &state, char const *, char const *) const override;
25
26private:
28};
29
30class ESIContext;
31
32class ESIAssign : public ESIElement
33{
35
36public:
37 ESIAssign (esiTreeParentPtr, int, const char **, ESIContext *);
38 ESIAssign (ESIAssign const &);
40 ~ESIAssign() override;
41 esiProcessResult_t process (int dovars) override;
42 void render(ESISegment::Pointer) override;
43 bool addElement(ESIElement::Pointer) override;
44 void provideData (ESISegment::Pointer data, ESIElement * source) override;
45 Pointer makeCacheable() const override;
47 void finish() override;
48
49private:
50 void evaluateVariable();
57};
58
59#endif /* SQUID_ESIASSIGN_H */
60
esiProcessResult_t
Definition: Element.h:18
bool addElement(ESIElement::Pointer) override
Definition: Assign.cc:150
ESIVarState * varState
Definition: Assign.h:52
esiTreeParentPtr parent
Definition: Assign.h:51
Pointer makeUsable(esiTreeParentPtr, ESIVarState &) const override
Definition: Assign.cc:127
MEMPROXY_CLASS(ESIAssign)
ESIElement::Pointer variable
Definition: Assign.h:55
ESIVariableExpression * value
Definition: Assign.h:54
esiProcessResult_t process(int dovars) override
Definition: Assign.cc:92
String unevaluatedVariable
Definition: Assign.h:56
void finish() override
Definition: Assign.cc:140
~ESIAssign() override
Definition: Assign.cc:23
void render(ESISegment::Pointer) override
Definition: Assign.cc:112
ESIAssign(esiTreeParentPtr, int, const char **, ESIContext *)
Definition: Assign.cc:32
String name
Definition: Assign.h:53
void provideData(ESISegment::Pointer data, ESIElement *source) override
Definition: Assign.cc:83
void evaluateVariable()
Definition: Assign.cc:60
Pointer makeCacheable() const override
Definition: Assign.cc:116
ESIAssign & operator=(ESIAssign const &)
void eval(ESIVarState &state, char const *, char const *) const override
Definition: Assign.cc:170
ESIVariableExpression(String const &value)
Definition: Assign.cc:166
~ESIVariableExpression() override
Definition: Assign.cc:163

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors