#include <Assign.h>
Public Types | |
enum | ESIElementType_t { ESI_ELEMENT_NONE , ESI_ELEMENT_INCLUDE , ESI_ELEMENT_COMMENT , ESI_ELEMENT_REMOVE , ESI_ELEMENT_TRY , ESI_ELEMENT_ATTEMPT , ESI_ELEMENT_EXCEPT , ESI_ELEMENT_VARS , ESI_ELEMENT_CHOOSE , ESI_ELEMENT_WHEN , ESI_ELEMENT_OTHERWISE , ESI_ELEMENT_ASSIGN } |
typedef RefCount< ESIElement > | Pointer |
Public Member Functions | |
ESIAssign (esiTreeParentPtr, int, const char **, ESIContext *) | |
ESIAssign (ESIAssign const &) | |
ESIAssign & | operator= (ESIAssign const &) |
~ESIAssign () override | |
esiProcessResult_t | process (int dovars) override |
void | render (ESISegment::Pointer) override |
bool | addElement (ESIElement::Pointer) override |
void | provideData (ESISegment::Pointer data, ESIElement *source) override |
Pointer | makeCacheable () const override |
Pointer | makeUsable (esiTreeParentPtr, ESIVarState &) const override |
void | finish () override |
virtual bool | mayFail () const |
virtual void | fail (ESIElement *, char const *=nullptr) |
Static Public Member Functions | |
static ESIElementType_t | IdentifyElement (const char *) |
Private Member Functions | |
MEMPROXY_CLASS (ESIAssign) | |
void | evaluateVariable () |
Private Attributes | |
esiTreeParentPtr | parent |
ESIVarState * | varState |
String | name |
ESIVariableExpression * | value |
ESIElement::Pointer | variable |
String | unevaluatedVariable |
Detailed Description
Member Typedef Documentation
◆ Pointer
|
inherited |
Member Enumeration Documentation
◆ ESIElementType_t
|
inherited |
Constructor & Destructor Documentation
◆ ESIAssign() [1/2]
ESIAssign::ESIAssign | ( | esiTreeParentPtr | aParent, |
int | attrcount, | ||
const char ** | attr, | ||
ESIContext * | aContext | ||
) |
Definition at line 32 of file Assign.cc.
References assert, cbdataReference, debugs, name, unevaluatedVariable, varState, and ESIContext::varState.
Referenced by makeCacheable(), and makeUsable().
◆ ESIAssign() [2/2]
◆ ~ESIAssign()
Member Function Documentation
◆ addElement()
|
overridevirtual |
Reimplemented from ESIElement.
Definition at line 150 of file Assign.cc.
References String::size(), and unevaluatedVariable.
◆ evaluateVariable()
|
private |
Definition at line 60 of file Assign.cc.
References ESIVarState::extractChar(), ESIVarState::feedData(), String::rawBuf(), safe_free, String::size(), unevaluatedVariable, value, and varState.
Referenced by process().
◆ fail()
|
inlinevirtualinherited |
Reimplemented in esiTry, esiChoose, esiSequence, and ESIContext.
Definition at line 33 of file Element.h.
Referenced by esiChoose::fail(), esiSequence::fail(), esiTry::notifyParent(), esiChoose::process(), and ESIInclude::subRequestDone().
◆ finish()
|
overridevirtual |
Implements ESIElement.
Definition at line 140 of file Assign.cc.
References cbdataReferenceDone, RefCount< C >::getRaw(), parent, and varState.
◆ IdentifyElement()
|
staticinherited |
Definition at line 852 of file Esi.cc.
References assert, ESIElement::ESI_ELEMENT_ASSIGN, ESIElement::ESI_ELEMENT_ATTEMPT, ESIElement::ESI_ELEMENT_CHOOSE, ESIElement::ESI_ELEMENT_COMMENT, ESIElement::ESI_ELEMENT_EXCEPT, ESIElement::ESI_ELEMENT_INCLUDE, ESIElement::ESI_ELEMENT_NONE, ESIElement::ESI_ELEMENT_OTHERWISE, ESIElement::ESI_ELEMENT_REMOVE, ESIElement::ESI_ELEMENT_TRY, ESIElement::ESI_ELEMENT_VARS, and ESIElement::ESI_ELEMENT_WHEN.
Referenced by ESIContext::end(), and ESIContext::start().
◆ makeCacheable()
|
overridevirtual |
Implements ESIElement.
Definition at line 116 of file Assign.cc.
References ESIAssign(), ESIElement::makeCacheable(), and variable.
◆ makeUsable()
|
overridevirtual |
Implements ESIElement.
Definition at line 127 of file Assign.cc.
References ESIAssign(), cbdataReference, ESIElement::makeUsable(), parent, variable, and varState.
◆ mayFail()
|
inlinevirtualinherited |
Reimplemented in esiSequence.
Definition at line 77 of file Element.h.
Referenced by ESIContext::send().
◆ MEMPROXY_CLASS()
|
private |
◆ operator=()
◆ process()
|
overridevirtual |
Reimplemented from ESIElement.
Definition at line 92 of file Assign.cc.
References ESIVarState::addVariable(), assert, debugs, ESI_PROCESS_COMPLETE, evaluateVariable(), name, String::rawBuf(), String::size(), value, and varState.
◆ provideData()
|
overridevirtual |
Reimplemented from esiTreeParent.
Definition at line 83 of file Assign.cc.
References assert, ESISegment::listToChar(), safe_free, and unevaluatedVariable.
◆ render()
|
overridevirtual |
Implements ESIElement.
Member Data Documentation
◆ name
|
private |
Definition at line 53 of file Assign.h.
Referenced by ESIAssign(), and process().
◆ parent
|
private |
Definition at line 51 of file Assign.h.
Referenced by finish(), and makeUsable().
◆ unevaluatedVariable
|
private |
Definition at line 56 of file Assign.h.
Referenced by ESIAssign(), addElement(), evaluateVariable(), and provideData().
◆ value
|
private |
Definition at line 54 of file Assign.h.
Referenced by ~ESIAssign(), evaluateVariable(), and process().
◆ variable
|
private |
Definition at line 55 of file Assign.h.
Referenced by makeCacheable(), and makeUsable().
◆ varState
|
private |
Definition at line 52 of file Assign.h.
Referenced by ESIAssign(), evaluateVariable(), finish(), makeUsable(), and process().
The documentation for this class was generated from the following files: