#include <Literal.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 | |
esiLiteral (ESISegment::Pointer) | |
esiLiteral (ESIContext *, const char *s, int len) | |
~esiLiteral () override | |
void | render (ESISegment::Pointer) override |
esiProcessResult_t | process (int dovars) override |
Pointer | makeCacheable () const override |
Pointer | makeUsable (esiTreeParentPtr, ESIVarState &) const override |
void | finish () override |
virtual bool | addElement (ESIElement::Pointer) |
virtual bool | mayFail () const |
virtual void | provideData (ESISegment::Pointer, ESIElement *) |
virtual void | fail (ESIElement *, char const *=nullptr) |
Static Public Member Functions | |
static ESIElementType_t | IdentifyElement (const char *) |
Public Attributes | |
ESISegment::Pointer | buffer |
struct { | |
unsigned int donevars:1 | |
} | flags |
ESIVarState * | varState |
Private Member Functions | |
MEMPROXY_CLASS (esiLiteral) | |
esiLiteral (esiLiteral const &) | |
Detailed Description
Member Typedef Documentation
◆ Pointer
|
inherited |
Member Enumeration Documentation
◆ ESIElementType_t
|
inherited |
Constructor & Destructor Documentation
◆ esiLiteral() [1/3]
esiLiteral::esiLiteral | ( | ESISegment::Pointer | aSegment | ) |
Definition at line 1495 of file Esi.cc.
References flags.
Referenced by makeCacheable(), and makeUsable().
◆ esiLiteral() [2/3]
esiLiteral::esiLiteral | ( | ESIContext * | context, |
const char * | s, | ||
int | len | ||
) |
Definition at line 1509 of file Esi.cc.
References ESISegment::append(), assert, ESISegment::buf, buffer, cbdataReference, flags, ESISegment::len, ESISegment::next, ESIContext::varState, and varState.
◆ ~esiLiteral()
|
override |
Definition at line 1488 of file Esi.cc.
References cbdataReferenceDone, debugs, ESISegmentFreeList(), and ESIContext::varState.
◆ esiLiteral() [3/3]
|
private |
Member Function Documentation
◆ addElement()
|
inlinevirtualinherited |
Reimplemented in ESIAssign, esiRemove, esiTry, esiChoose, and esiSequence.
Definition at line 64 of file Element.h.
References debugs.
Referenced by ESIContext::addLiteral(), and ESIContext::addStackElement().
◆ 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.
◆ 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 |
◆ makeUsable()
|
overridevirtual |
Implements ESIElement.
Definition at line 1580 of file Esi.cc.
References esiLiteral(), cbdataReference, debugs, and varState.
◆ mayFail()
|
inlinevirtualinherited |
Reimplemented in esiSequence.
Definition at line 77 of file Element.h.
Referenced by ESIContext::send().
◆ MEMPROXY_CLASS()
|
private |
◆ process()
|
overridevirtual |
Reimplemented from ESIElement.
Definition at line 1543 of file Esi.cc.
References ESISegment::buf, buffer, ESI_PROCESS_COMPLETE, ESISegmentFreeList(), ESIVarState::extractList(), ESIVarState::feedData(), flags, RefCount< C >::getRaw(), ESISegment::len, ESISegment::next, and varState.
◆ provideData()
|
inlinevirtualinherited |
Reimplemented in ESIAssign, esiTry, esiChoose, esiSequence, and ESIContext.
Definition at line 28 of file Element.h.
References assert.
Referenced by esiTry::notifyParent(), esiSequence::process(), esiTry::provideData(), esiChoose::provideData(), and ESIInclude::subRequestDone().
◆ render()
|
overridevirtual |
Implements ESIElement.
Definition at line 1533 of file Esi.cc.
References assert, buffer, debugs, RefCount< C >::getRaw(), and ESISegment::next.
Member Data Documentation
◆ buffer
ESISegment::Pointer esiLiteral::buffer |
Definition at line 32 of file Literal.h.
Referenced by esiLiteral(), process(), and render().
◆ donevars
◆
struct { ... } esiLiteral::flags |
Referenced by esiLiteral(), and process().
◆ varState
ESIVarState* esiLiteral::varState |
Definition at line 38 of file Literal.h.
Referenced by esiLiteral(), makeUsable(), and process().
The documentation for this class was generated from the following files: