#include <Assign.h>

Inheritance diagram for ESIAssign:
Collaboration diagram for ESIAssign:

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

 ESIAssign (esiTreeParentPtr, int, const char **, ESIContext *)
 
 ESIAssign (ESIAssign const &)
 
ESIAssignoperator= (ESIAssign const &)
 
 ~ESIAssign ()
 
esiProcessResult_t process (int dovars)
 
void render (ESISegment::Pointer)
 
bool addElement (ESIElement::Pointer)
 
void provideData (ESISegment::Pointer data, ESIElement *source)
 
Pointer makeCacheable () const
 
Pointer makeUsable (esiTreeParentPtr, ESIVarState &) const
 
void finish ()
 
virtual bool mayFail () const
 
virtual void fail (ESIElement *source, char const *reason=NULL)
 

Static Public Member Functions

static ESIElementType_t IdentifyElement (const char *)
 

Private Member Functions

 MEMPROXY_CLASS (ESIAssign)
 
void evaluateVariable ()
 

Private Attributes

esiTreeParentPtr parent
 
ESIVarStatevarState
 
String name
 
ESIVariableExpressionvalue
 
ESIElement::Pointer variable
 
String unevaluatedVariable
 

Detailed Description

Definition at line 32 of file Assign.h.

Member Typedef Documentation

Definition at line 44 of file Element.h.

Member Enumeration Documentation

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 47 of file Element.h.

Constructor & Destructor Documentation

ESIAssign::ESIAssign ( esiTreeParentPtr  aParent,
int  attrcount,
const char **  attr,
ESIContext aContext 
)

Definition at line 32 of file Assign.cc.

References assert, cbdataReference, debugs, i, name, unevaluatedVariable, varState, and ESIContext::varState.

Referenced by makeCacheable(), and makeUsable().

ESIAssign::ESIAssign ( ESIAssign const &  old)

Definition at line 29 of file Assign.cc.

ESIAssign::~ESIAssign ( )

Definition at line 23 of file Assign.cc.

References value.

Member Function Documentation

bool ESIAssign::addElement ( ESIElement::Pointer  anElement)
virtual

Reimplemented from ESIElement.

Definition at line 150 of file Assign.cc.

References esiSequence::addElement(), String::size(), and unevaluatedVariable.

void ESIAssign::evaluateVariable ( )
private
virtual void esiTreeParent::fail ( ESIElement source,
char const *  reason = NULL 
)
inlinevirtualinherited
void ESIAssign::finish ( )
virtual

Implements ESIElement.

Definition at line 140 of file Assign.cc.

References cbdataReferenceDone, RefCount< C >::getRaw(), NULL, parent, and varState.

ESIAssign::Pointer ESIAssign::makeCacheable ( ) const
virtual

Implements ESIElement.

Definition at line 116 of file Assign.cc.

References ESIAssign(), ESIElement::makeCacheable(), and variable.

ESIAssign::Pointer ESIAssign::makeUsable ( esiTreeParentPtr  aParent,
ESIVarState aVarState 
) const
virtual

Implements ESIElement.

Definition at line 127 of file Assign.cc.

References cbdataReference, ESIAssign(), ESIElement::makeUsable(), parent, variable, and varState.

virtual bool ESIElement::mayFail ( ) const
inlinevirtualinherited

Reimplemented in esiSequence.

Definition at line 75 of file Element.h.

Referenced by ESIContext::send().

ESIAssign::MEMPROXY_CLASS ( ESIAssign  )
private
ESIAssign& ESIAssign::operator= ( ESIAssign const &  )
esiProcessResult_t ESIAssign::process ( int  dovars)
virtual
void ESIAssign::provideData ( ESISegment::Pointer  data,
ESIElement source 
)
virtual

Reimplemented from esiTreeParent.

Definition at line 83 of file Assign.cc.

References assert, ESISegment::listToChar(), safe_free, and unevaluatedVariable.

void ESIAssign::render ( ESISegment::Pointer  )
virtual

Implements ESIElement.

Definition at line 112 of file Assign.cc.

Member Data Documentation

String ESIAssign::name
private

Definition at line 53 of file Assign.h.

Referenced by ESIAssign(), and process().

esiTreeParentPtr ESIAssign::parent
private

Definition at line 51 of file Assign.h.

Referenced by finish(), and makeUsable().

String ESIAssign::unevaluatedVariable
private

Definition at line 56 of file Assign.h.

Referenced by addElement(), ESIAssign(), evaluateVariable(), and provideData().

ESIVariableExpression* ESIAssign::value
private

Definition at line 54 of file Assign.h.

Referenced by evaluateVariable(), process(), and ~ESIAssign().

ESIElement::Pointer ESIAssign::variable
private

Definition at line 55 of file Assign.h.

Referenced by makeCacheable(), and makeUsable().

ESIVarState* ESIAssign::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:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors