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 | |
esiChoose (esiTreeParentPtr) | |
~esiChoose () override | |
void | render (ESISegment::Pointer) override |
bool | addElement (ESIElement::Pointer) override |
void | fail (ESIElement *, char const *=nullptr) override |
esiProcessResult_t | process (int dovars) override |
void | provideData (ESISegment::Pointer data, ESIElement *source) override |
void | makeCachableElements (esiChoose const &old) |
void | makeUsableElements (esiChoose const &old, ESIVarState &) |
Pointer | makeCacheable () const override |
Pointer | makeUsable (esiTreeParentPtr, ESIVarState &) const override |
void | NULLUnChosen () |
void | finish () override |
virtual bool | mayFail () const |
Static Public Member Functions | |
static ESIElementType_t | IdentifyElement (const char *) |
Public Attributes | |
Esi::Elements | elements |
int | chosenelement |
ESIElement::Pointer | otherwise |
Private Member Functions | |
MEMPROXY_CLASS (esiChoose) | |
esiChoose (esiChoose const &) | |
void | checkValidSource (ESIElement::Pointer source) const |
void | selectElement () |
Private Attributes | |
esiTreeParentPtr | parent |
Detailed Description
Member Typedef Documentation
◆ Pointer
|
inherited |
Member Enumeration Documentation
◆ ESIElementType_t
|
inherited |
Constructor & Destructor Documentation
◆ esiChoose() [1/2]
esiChoose::esiChoose | ( | esiTreeParentPtr | aParent | ) |
Definition at line 1892 of file Esi.cc.
Referenced by makeCacheable(), and makeUsable().
◆ ~esiChoose()
|
override |
Definition at line 1886 of file Esi.cc.
References debugs, elements, and FinishAllElements().
◆ esiChoose() [2/2]
|
private |
Definition at line 2089 of file Esi.cc.
References addElement(), assert, elements, and RefCount< C >::getRaw().
Member Function Documentation
◆ addElement()
|
overridevirtual |
Reimplemented from ESIElement.
Definition at line 1913 of file Esi.cc.
References chosenelement, DBG_CRITICAL, debugs, elements, RefCount< C >::getRaw(), otherwise, and esiWhen::testsTrue().
Referenced by esiChoose(), makeCachableElements(), and makeUsableElements().
◆ checkValidSource()
|
private |
Definition at line 2053 of file Esi.cc.
References assert, chosenelement, elements, fatal(), RefCount< C >::getRaw(), and otherwise.
Referenced by fail(), and provideData().
◆ fail()
|
overridevirtual |
Reimplemented from esiTreeParent.
Definition at line 2067 of file Esi.cc.
References checkValidSource(), elements, esiTreeParent::fail(), ESIElement::finish(), FinishAllElements(), RefCount< C >::getRaw(), otherwise, and parent.
◆ finish()
|
overridevirtual |
Implements ESIElement.
Definition at line 1991 of file Esi.cc.
References elements, ESIElement::finish(), FinishAllElements(), RefCount< C >::getRaw(), otherwise, and parent.
◆ 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().
◆ makeCachableElements()
void esiChoose::makeCachableElements | ( | esiChoose const & | old | ) |
Definition at line 2100 of file Esi.cc.
References addElement(), assert, elements, and RefCount< C >::getRaw().
Referenced by makeCacheable().
◆ makeCacheable()
|
overridevirtual |
Implements ESIElement.
Definition at line 2122 of file Esi.cc.
References esiChoose(), RefCount< C >::getRaw(), makeCachableElements(), ESIElement::makeCacheable(), and otherwise.
◆ makeUsable()
|
overridevirtual |
Implements ESIElement.
Definition at line 2135 of file Esi.cc.
References esiChoose(), RefCount< C >::getRaw(), ESIElement::makeUsable(), makeUsableElements(), otherwise, parent, and selectElement().
◆ makeUsableElements()
void esiChoose::makeUsableElements | ( | esiChoose const & | old, |
ESIVarState & | newVarState | ||
) |
Definition at line 2111 of file Esi.cc.
References addElement(), assert, elements, and RefCount< C >::getRaw().
Referenced by makeUsable().
◆ mayFail()
|
inlinevirtualinherited |
Reimplemented in esiSequence.
Definition at line 77 of file Element.h.
Referenced by ESIContext::send().
◆ MEMPROXY_CLASS()
|
private |
◆ NULLUnChosen()
void esiChoose::NULLUnChosen | ( | ) |
Definition at line 2003 of file Esi.cc.
References chosenelement, elements, ESIElement::finish(), FinishAllElements(), FinishAnElement(), RefCount< C >::getRaw(), and otherwise.
Referenced by process().
◆ process()
|
overridevirtual |
Reimplemented from ESIElement.
Definition at line 2023 of file Esi.cc.
References chosenelement, elements, ESI_PROCESS_COMPLETE, ESI_PROCESS_FAILED, esiTreeParent::fail(), ESIElement::finish(), RefCount< C >::getRaw(), NULLUnChosen(), otherwise, parent, and ESIElement::process().
◆ provideData()
|
overridevirtual |
Reimplemented from esiTreeParent.
Definition at line 2083 of file Esi.cc.
References checkValidSource(), parent, and esiTreeParent::provideData().
◆ render()
|
overridevirtual |
Implements ESIElement.
Definition at line 1899 of file Esi.cc.
References assert, chosenelement, debugs, elements, RefCount< C >::getRaw(), ESISegment::next, otherwise, and ESIElement::render().
◆ selectElement()
|
private |
Definition at line 1954 of file Esi.cc.
References chosenelement, debugs, elements, and esiWhen::testsTrue().
Referenced by makeUsable().
Member Data Documentation
◆ chosenelement
int esiChoose::chosenelement |
Definition at line 182 of file Esi.cc.
Referenced by addElement(), checkValidSource(), NULLUnChosen(), process(), render(), and selectElement().
◆ elements
Esi::Elements esiChoose::elements |
Definition at line 181 of file Esi.cc.
Referenced by esiChoose(), ~esiChoose(), addElement(), checkValidSource(), fail(), finish(), makeCachableElements(), makeUsableElements(), NULLUnChosen(), process(), render(), and selectElement().
◆ otherwise
ESIElement::Pointer esiChoose::otherwise |
Definition at line 183 of file Esi.cc.
Referenced by addElement(), checkValidSource(), fail(), finish(), makeCacheable(), makeUsable(), NULLUnChosen(), process(), and render().
◆ parent
|
private |
Definition at line 188 of file Esi.cc.
Referenced by fail(), finish(), makeUsable(), process(), and provideData().
The documentation for this class was generated from the following file:
- src/esi/Esi.cc