#include <Include.h>

Inheritance diagram for ESIInclude:
Collaboration diagram for ESIInclude:

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

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

Static Public Member Functions

static ESIElementType_t IdentifyElement (const char *)
 

Public Attributes

struct {
   int   onerrorcontinue:1
 
   int   failed:1
 
   int   finished:1
 
flags
 
ESIStreamContext::Pointer src
 
ESIStreamContext::Pointer alt
 
ESISegment::Pointer srccontent
 
ESISegment::Pointer altcontent
 
ESIVarStatevarState
 
char * srcurl
 
char * alturl
 

Private Member Functions

 MEMPROXY_CLASS (ESIInclude)
 
void Start (ESIStreamContext::Pointer, char const *, ESIVarState *)
 
void start ()
 
 ESIInclude (ESIInclude const &)
 
bool dataNeeded () const
 
void prepareRequestHeaders (HttpHeader &tempheaders, ESIVarState *vars)
 

Private Attributes

esiTreeParentPtr parent
 
bool started
 
bool sent
 

Detailed Description

Definition at line 36 of file Include.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

ESIInclude::ESIInclude ( esiTreeParentPtr  aParent,
int  attributes,
const char **  attr,
ESIContext aContext 
)
ESIInclude::~ESIInclude ( )
ESIInclude::ESIInclude ( ESIInclude const &  old)
private

Definition at line 260 of file Include.cc.

References alturl, flags, onerrorcontinue, srcurl, and xstrdup.

Member Function Documentation

virtual bool ESIElement::addElement ( ESIElement::Pointer  )
inlinevirtualinherited

Reimplemented in esiChoose, esiTry, esiRemove, ESIAssign, and esiSequence.

Definition at line 62 of file Element.h.

References debugs.

Referenced by ESIContext::addLiteral(), and ESIContext::addStackElement().

bool ESIInclude::dataNeeded ( ) const
private

Definition at line 446 of file Include.cc.

References flags.

Referenced by subRequestDone().

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

Implements ESIElement.

Definition at line 232 of file Include.cc.

References NULL, and parent.

void ESIInclude::includeFail ( ESIStreamContext::Pointer  stream)

Definition at line 440 of file Include.cc.

References subRequestDone().

ESIElement::Pointer ESIInclude::makeCacheable ( ) const
virtual

Implements ESIElement.

Definition at line 238 of file Include.cc.

References ESIInclude().

ESIElement::Pointer ESIInclude::makeUsable ( esiTreeParentPtr  newParent,
ESIVarState newVarState 
) const
virtual

Implements ESIElement.

Definition at line 244 of file Include.cc.

References alt, alturl, cbdataReference, ESIInclude(), ESIStreamContextNew(), parent, src, srcurl, and varState.

virtual bool ESIElement::mayFail ( ) const
inlinevirtualinherited

Reimplemented in esiSequence.

Definition at line 75 of file Element.h.

Referenced by ESIContext::send().

ESIInclude::MEMPROXY_CLASS ( ESIInclude  )
private
void ESIInclude::prepareRequestHeaders ( HttpHeader tempheaders,
ESIVarState vars 
)
private

Definition at line 279 of file Include.cc.

References ESIVarState::header(), HttpHeader::removeHopByHopEntries(), and HttpHeader::update().

Referenced by Start().

esiProcessResult_t ESIInclude::process ( int  dovars)
virtual
virtual void esiTreeParent::provideData ( ESISegment::Pointer  data,
ESIElement source 
)
inlinevirtualinherited
void ESIInclude::render ( ESISegment::Pointer  output)
virtual

Implements ESIElement.

Definition at line 382 of file Include.cc.

References altcontent, assert, debugs, fatal(), flags, RefCount< C >::getRaw(), ESISegment::next, NULL, sent, and srccontent.

void ESIInclude::start ( )
private

Definition at line 359 of file Include.cc.

References alt, alturl, DBG_IMPORTANT, debugs, flags, RefCount< C >::getRaw(), NULL, src, srcurl, Start(), started, and varState.

Referenced by process().

Member Data Documentation

ESIStreamContext::Pointer ESIInclude::alt

Definition at line 55 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), and subRequestDone().

ESISegment::Pointer ESIInclude::altcontent

Definition at line 57 of file Include.h.

Referenced by render(), subRequestDone(), and ~ESIInclude().

char * ESIInclude::alturl

Definition at line 59 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), subRequestDone(), and ~ESIInclude().

int ESIInclude::failed

Definition at line 51 of file Include.h.

int ESIInclude::finished

Definition at line 52 of file Include.h.

struct { ... } ESIInclude::flags
int ESIInclude::onerrorcontinue

Definition at line 50 of file Include.h.

Referenced by ESIInclude().

esiTreeParentPtr ESIInclude::parent
private

Definition at line 65 of file Include.h.

Referenced by finish(), makeUsable(), and subRequestDone().

bool ESIInclude::sent
private

Definition at line 68 of file Include.h.

Referenced by render(), and subRequestDone().

ESIStreamContext::Pointer ESIInclude::src

Definition at line 54 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), and subRequestDone().

ESISegment::Pointer ESIInclude::srccontent

Definition at line 56 of file Include.h.

Referenced by render(), subRequestDone(), and ~ESIInclude().

char* ESIInclude::srcurl

Definition at line 59 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), subRequestDone(), and ~ESIInclude().

bool ESIInclude::started
private

Definition at line 67 of file Include.h.

Referenced by start().

ESIVarState* ESIInclude::varState

Definition at line 58 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), and ~ESIInclude().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors