Assign.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2019 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 {
21 public:
23  ESIVariableExpression (String const &value);
24  virtual void eval (ESIVarState &state, char const *, char const *) const;
25 
26 private:
28 };
29 
30 class ESIContext;
31 
32 class ESIAssign : public ESIElement
33 {
35 
36 public:
37  ESIAssign (esiTreeParentPtr, int, const char **, ESIContext *);
38  ESIAssign (ESIAssign const &);
39  ESIAssign &operator=(ESIAssign const &);
40  ~ESIAssign();
41  esiProcessResult_t process (int dovars);
42  void render(ESISegment::Pointer);
43  bool addElement(ESIElement::Pointer);
44  void provideData (ESISegment::Pointer data, ESIElement * source);
45  Pointer makeCacheable() const;
46  Pointer makeUsable(esiTreeParentPtr, ESIVarState &) const;
47  void finish();
48 
49 private:
50  void evaluateVariable();
57 };
58 
59 #endif /* SQUID_ESIASSIGN_H */
60 
Variable & operator=(Variable const &)
#define MEMPROXY_CLASS(CLASS)
String name
Definition: Assign.h:53
esiProcessResult_t
Definition: Element.h:18
ESIVarState * varState
Definition: Assign.h:52
ESIElement::Pointer variable
Definition: Assign.h:55
esiTreeParentPtr parent
Definition: Assign.h:51
void const char HLPCB void * data
Definition: stub_helper.cc:16
String unevaluatedVariable
Definition: Assign.h:56
ESIVariableExpression(String const &value)
Definition: Assign.cc:166
ESIVariableExpression * value
Definition: Assign.h:54
virtual void eval(ESIVarState &state, char const *, char const *) const
Definition: Assign.cc:170

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors