---
name: "ScriptImage"
section: "3cc"
platform: "linux"
package: "libccscript-dev"
version: "2.5.9-1+b1"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/ScriptImage/3cc"
---

# ScriptImage(3cc)

A derivable class to hold compiled script images for active processes.Script compiler image set.

## NAME

ScriptImage - A derivable class to hold compiled script images for active processes.Script compiler image set.

## SYNOPSIS

`#include <script.h>`

### Public Member Functions

virtual Name \* **getScript** (const char \*name)\
 *Fetch named script.*  virtual Name \* **dupScript** (const char \*name, const char \*target)\
 *Duplicate script if needed.*  unsigned **gather** (const char \*suffix, Name \*\*array, unsigned size)\
 *Fetch list of relational scripts.*  std::istream \* **getSource** (void)\
 *Used by embedded interpreters to fetch script from the current source file.*

### Protected Member Functions

char \* **getToken** (char \*\*pre=NULL)\
 Method **getHandler** (const char \*keyword)\
 *Get the interpreter method pointer for a given keyword.*  **ScriptImage** (**ScriptCommand** \*cmdset, const char \*symset)\
 *Construct a new working image.*  void **purge** (void)\
 *Purge and reload the script image workspace.*  Name \* **include** (const char \*scrfile)\
 *A method to invoke the script compiler to include a script only if it has not been included already.*  int **compile** (const char \*scrfile)\
 *The script compiler itself.*  int **compile** (const char \*scrfile, char \*name)\
 *Compile a script from disk and give it a different internal 'name' as passed.*  int **compile** (std::istream \*str, char \*name, const char \*scrname=NULL)\
 *Compile an open stream object into a script.*  void **commit** (void)\
 *Used in the derived constructor to 'commit' the current image for new processes.*  virtual bool **preProcess** (const char \*directive, Name \*script)\
 *used to create dialect specific pre-precessor directives.*  virtual const char \* **getDefined** (const char \*token)\
 *Used to process '$const' inserts.*  void **load** (Initial \*ilist)\
 *Used by a derived constructor to load an initialization list.*  void **initial** (const char \*keyword, const char \*value, unsigned size=0)\
 *Used to load a single initialization list entry.*

### Protected Attributes

std::ifstream **scrSource**\
 std::istream \* **scrStream**\
 **ScriptCommand** \* **cmds**\
 int **refcount**\
 Name \* **index** \[37\]\
 char \* **buffer**\
 unsigned **bufsize**\
 char \* **bp**\
 bool **quote**\
 unsigned **paren**\
 Mutex **duplock**\
 ScriptImage::InitialList \* **ilist**\

### Friends

class **ScriptInterp**\
 class **ScriptModule**\

## Detailed Description

A derivable class to hold compiled script images for active processes.Script compiler image set.

This includes the script image compiler itself. Typically, a script is compiled one file at a time from a directory, and the committed, during the constructor in a derived class.

**Author:**

David Sugar \<dyfet@ostel.com\>.

## Constructor & Destructor Documentation

### ScriptImage::ScriptImage (ScriptCommand \* cmdset, const char \* symset)` [protected]`

Construct a new working image.

This must be derived to an application specific compiler that can scan directories and invoke the compiler as needed.

**Parameters:**

*cmdset* of keyword table object used.

## Member Function Documentation

### void ScriptImage::commit (void)` [protected]`

Used in the derived constructor to 'commit' the current image for new processes.

This is usually the last statement in the derived constructor.

### int ScriptImage::compile (std::istream \* str, char \* name, const char \* scrname = `NULL`)` [protected]`

Compile an open stream object into a script.

**Returns:**

lines of script compiled.

**Parameters:**

*stream* object to use. \
 *name* of script save under.

### int ScriptImage::compile (const char \* scrfile, char \* name)` [protected]`

Compile a script from disk and give it a different internal 'name' as passed.

**Returns:**

lines of script compiled.

**Parameters:**

*name* of script file to compile. \
 *name* of script to save under. \
 *test* if script already loaded.

### int ScriptImage::compile (const char \* scrfile)` [protected]`

The script compiler itself.

This linearly compiles a Bayonne script file that is specified. Normally used along with a dir scanner in the constructor.

**Returns:**

lines of script compiled.

**Parameters:**

*name* of script file to compile.

### virtual Name\* ScriptImage::dupScript (const char \* name, const char \* target)` [virtual]`

Duplicate script if needed.

**Parameters:**

*script* name to dup. \
 *target* name to dup as.

**Returns:**

script or NULL.

### unsigned ScriptImage::gather (const char \* suffix, Name \*\* array, unsigned size)

Fetch list of relational scripts.

**Parameters:**

*suffix.* \
 *index.* \
 *max* entries.

**Returns:**

count of entries found.

### virtual const char\* ScriptImage::getDefined (const char \* token)` [inline, protected, virtual]`

Used to process '$const' inserts.

**Returns:**

string if found.

**Parameters:**

*script* token being substituted.

### Method ScriptImage::getHandler (const char \* keyword)` [inline, protected]`

Get the interpreter method pointer for a given keyword.

**Returns:**

method handler.

**Parameters:**

*keyword* to search.

### virtual Name\* ScriptImage::getScript (const char \* name)` [virtual]`

Fetch named script.

**Parameters:**

*script* name to find.

**Returns:**

script or NULL.

### std::istream\* ScriptImage::getSource (void)` [inline]`

Used by embedded interpreters to fetch script from the current source file.

**Returns:**

reference to source file stream.

### Name\* ScriptImage::include (const char \* scrfile)` [protected]`

A method to invoke the script compiler to include a script only if it has not been included already.

**Returns:**

named script object.

**Parameters:**

*name* of script file to compile.

### void ScriptImage::initial (const char \* keyword, const char \* value, unsigned size = `0`)` [protected]`

Used to load a single initialization list entry.

**Parameters:**

*keyword* \
 *value* \
 *size*

### void ScriptImage::load (Initial \* ilist)` [protected]`

Used by a derived constructor to load an initialization list.

**Parameters:**

*initialization* list.

### virtual bool ScriptImage::preProcess (const char \* directive, Name \* script)` [inline, protected, virtual]`

used to create dialect specific pre-precessor directives.

**Returns:**

true if directive claimed.

**Parameters:**

*directive* \
 *script* object being built

## Author

Generated automatically by Doxygen for ccScript from the source code.
