#include <Literal.h>

Inheritance diagram for esiLiteral:
Collaboration diagram for esiLiteral:

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

 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
 
ESIVarStatevarState
 

Private Member Functions

 MEMPROXY_CLASS (esiLiteral)
 
 esiLiteral (esiLiteral const &)
 

Detailed Description

Definition at line 18 of file Literal.h.

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

◆ 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 
)

◆ ~esiLiteral()

esiLiteral::~esiLiteral ( )
override

Definition at line 1488 of file Esi.cc.

References cbdataReferenceDone, debugs, ESISegmentFreeList(), and ESIContext::varState.

◆ esiLiteral() [3/3]

esiLiteral::esiLiteral ( esiLiteral const &  old)
private

Definition at line 1567 of file Esi.cc.

References flags.

Member Function Documentation

◆ addElement()

virtual bool ESIElement::addElement ( ESIElement::Pointer  )
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()

virtual void esiTreeParent::fail ( ESIElement ,
char const *  = nullptr 
)
inlinevirtualinherited

◆ finish()

void esiLiteral::finish ( )
overridevirtual

Implements ESIElement.

Definition at line 1504 of file Esi.cc.

◆ IdentifyElement()

◆ makeCacheable()

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

Implements ESIElement.

Definition at line 1574 of file Esi.cc.

References esiLiteral().

◆ makeUsable()

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

Implements ESIElement.

Definition at line 1580 of file Esi.cc.

References esiLiteral(), cbdataReference, debugs, and varState.

◆ mayFail()

virtual bool ESIElement::mayFail ( ) const
inlinevirtualinherited

Reimplemented in esiSequence.

Definition at line 77 of file Element.h.

Referenced by ESIContext::send().

◆ MEMPROXY_CLASS()

esiLiteral::MEMPROXY_CLASS ( esiLiteral  )
private

◆ process()

◆ provideData()

virtual void esiTreeParent::provideData ( ESISegment::Pointer  ,
ESIElement  
)
inlinevirtualinherited

◆ render()

void esiLiteral::render ( ESISegment::Pointer  output)
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

unsigned int esiLiteral::donevars

Definition at line 35 of file Literal.h.

◆ 

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:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors