Inheritance diagram for esiWhen:
Collaboration diagram for esiWhen:

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< ESIElementPointer
 

Public Member Functions

 esiWhen (esiTreeParentPtr aParent, int attributes, const char **attr, ESIVarState *)
 
 ~esiWhen () override
 
Pointer makeCacheable () const override
 
Pointer makeUsable (esiTreeParentPtr, ESIVarState &) const override
 
bool testsTrue () const
 
void setTestResult (bool aBool)
 
void render (ESISegment::Pointer) override
 
bool addElement (ESIElement::Pointer) override
 
esiProcessResult_t process (int dovars) override
 
void provideData (ESISegment::Pointer, ESIElement *) override
 
bool mayFail () const override
 
void wontFail ()
 
void fail (ESIElement *, char const *anError=nullptr) override
 
void makeCachableElements (esiSequence const &old)
 
void makeUsableElements (esiSequence const &old, ESIVarState &)
 
void finish () override
 

Static Public Member Functions

static ESIElementType_t IdentifyElement (const char *)
 

Public Attributes

Esi::Elements elements
 
size_t processedcount
 
struct {
   unsigned int   dovars:1
 
flags
 

Protected Attributes

esiTreeParentPtr parent
 

Private Member Functions

 MEMPROXY_CLASS (esiWhen)
 
 esiWhen (esiWhen const &)
 
void evaluate ()
 
int elementIndex (ESIElement::Pointer anElement) const
 
esiProcessResult_t processOne (int, size_t)
 
size_t nextElementToProcess () const
 
void nextElementToProcess (size_t const &)
 
bool finishedProcessing () const
 
void processStep (int dovars)
 

Private Attributes

bool testValue
 
char const * unevaluatedExpression
 
ESIVarStatevarState
 
bool mayFail_
 
bool failed
 
bool const provideIncrementalData
 
bool processing
 
esiProcessResult_t processingResult
 
size_t nextElementToProcess_
 

Detailed Description

Definition at line 193 of file Esi.cc.

Member Typedef Documentation

◆ Pointer

Definition at line 46 of file Element.h.

Member Enumeration Documentation

◆ ESIElementType_t

Enumerator
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 

Definition at line 49 of file Element.h.

Constructor & Destructor Documentation

◆ esiWhen() [1/2]

esiWhen::esiWhen ( esiTreeParentPtr  aParent,
int  attributes,
const char **  attr,
ESIVarState aVar 
)

Definition at line 2150 of file Esi.cc.

References assert, cbdataReference, DBG_IMPORTANT, debugs, evaluate(), unevaluatedExpression, varState, and xstrdup.

Referenced by makeCacheable(), and makeUsable().

◆ ~esiWhen()

esiWhen::~esiWhen ( )
override

Definition at line 2184 of file Esi.cc.

References cbdataReferenceDone, safe_free, unevaluatedExpression, and varState.

◆ esiWhen() [2/2]

esiWhen::esiWhen ( esiWhen const &  old)
private

Definition at line 2209 of file Esi.cc.

References unevaluatedExpression, and xstrdup.

Member Function Documentation

◆ addElement()

bool esiSequence::addElement ( ESIElement::Pointer  element)
overridevirtualinherited

◆ elementIndex()

int esiSequence::elementIndex ( ESIElement::Pointer  anElement) const
privateinherited

Definition at line 177 of file Sequence.cc.

References esiSequence::elements.

Referenced by esiSequence::provideData().

◆ evaluate()

void esiWhen::evaluate ( )
private

◆ fail()

void esiSequence::fail ( ESIElement ,
char const *  anError = nullptr 
)
overridevirtualinherited

◆ finish()

void esiSequence::finish ( )
overridevirtualinherited

Implements ESIElement.

Definition at line 104 of file Sequence.cc.

References debugs, esiSequence::elements, FinishAllElements(), and esiSequence::parent.

◆ finishedProcessing()

bool esiSequence::finishedProcessing ( ) const
privateinherited

Definition at line 60 of file Sequence.cc.

References esiSequence::elements, and esiSequence::nextElementToProcess().

Referenced by esiSequence::process().

◆ IdentifyElement()

◆ makeCachableElements()

void esiSequence::makeCachableElements ( esiSequence const &  old)
inherited

◆ makeCacheable()

ESIElement::Pointer esiWhen::makeCacheable ( ) const
overridevirtual

Implements ESIElement.

Definition at line 2220 of file Esi.cc.

References esiWhen().

◆ makeUsable()

ESIElement::Pointer esiWhen::makeUsable ( esiTreeParentPtr  newParent,
ESIVarState newVarState 
) const
overridevirtual

◆ makeUsableElements()

void esiSequence::makeUsableElements ( esiSequence const &  old,
ESIVarState newVarState 
)
inherited

◆ mayFail()

bool esiSequence::mayFail ( ) const
overridevirtualinherited

Reimplemented from ESIElement.

Definition at line 66 of file Sequence.cc.

References esiSequence::failed, and esiSequence::mayFail_.

◆ MEMPROXY_CLASS()

esiWhen::MEMPROXY_CLASS ( esiWhen  )
private

◆ nextElementToProcess() [1/2]

size_t esiSequence::nextElementToProcess ( ) const
privateinherited

◆ nextElementToProcess() [2/2]

void esiSequence::nextElementToProcess ( size_t const &  aSizeT)
privateinherited

Definition at line 54 of file Sequence.cc.

References esiSequence::nextElementToProcess_.

◆ process()

◆ processOne()

◆ processStep()

void esiSequence::processStep ( int  dovars)
privateinherited

◆ provideData()

void esiSequence::provideData ( ESISegment::Pointer  data,
ESIElement source 
)
overridevirtualinherited

◆ render()

void esiSequence::render ( ESISegment::Pointer  output)
overridevirtualinherited

◆ setTestResult()

void esiWhen::setTestResult ( bool  aBool)
inline

Definition at line 205 of file Esi.cc.

References testValue.

Referenced by evaluate().

◆ testsTrue()

bool esiWhen::testsTrue ( ) const
inline

Definition at line 203 of file Esi.cc.

References testValue.

Referenced by esiChoose::addElement(), and esiChoose::selectElement().

◆ wontFail()

void esiSequence::wontFail ( )
inherited

Definition at line 75 of file Sequence.cc.

References assert, esiSequence::failed, and esiSequence::mayFail_.

Referenced by esiSequence::process().

Member Data Documentation

◆ dovars

unsigned int esiSequence::dovars
inherited

◆ elements

◆ failed

bool esiSequence::failed
privateinherited

◆ 

struct { ... } esiSequence::flags

◆ mayFail_

bool esiSequence::mayFail_
privateinherited

Definition at line 53 of file Sequence.h.

Referenced by esiSequence::mayFail(), and esiSequence::wontFail().

◆ nextElementToProcess_

size_t esiSequence::nextElementToProcess_
privateinherited

Definition at line 59 of file Sequence.h.

Referenced by esiSequence::nextElementToProcess().

◆ parent

esiTreeParentPtr esiSequence::parent
protectedinherited

◆ processedcount

size_t esiSequence::processedcount
inherited

◆ processing

bool esiSequence::processing
privateinherited

Definition at line 57 of file Sequence.h.

Referenced by esiSequence::fail(), esiSequence::process(), and esiSequence::provideData().

◆ processingResult

esiProcessResult_t esiSequence::processingResult
privateinherited

Definition at line 58 of file Sequence.h.

Referenced by esiSequence::process(), and esiSequence::processStep().

◆ provideIncrementalData

bool const esiSequence::provideIncrementalData
privateinherited

Definition at line 56 of file Sequence.h.

Referenced by esiSequence::process().

◆ testValue

bool esiWhen::testValue
private

Definition at line 209 of file Esi.cc.

Referenced by setTestResult(), and testsTrue().

◆ unevaluatedExpression

char const* esiWhen::unevaluatedExpression
private

Definition at line 210 of file Esi.cc.

Referenced by esiWhen(), ~esiWhen(), and evaluate().

◆ varState

ESIVarState* esiWhen::varState
private

Definition at line 211 of file Esi.cc.

Referenced by esiWhen(), ~esiWhen(), evaluate(), and makeUsable().


The documentation for this class was generated from the following file:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors