BALL::PyInterpreter Class Reference
[Python extensions]

#include <BALL/PYTHON/pyInterpreter.h>

List of all members.

Public Types

Type definitions

typedef std::vector< StringPathStrings
 Used to encode the individual paths appended to sys.path for dynamic loading of modules.

Static Public Member Functions

Initialization

static void initialize ()
static void finalize ()
static bool isInitialized ()
static void setSysPath (const PathStrings &path_strings)
 Append additional search paths to sys.path upon initialization.
static const PathStringsgetSysPath ()
 Get the current paths added to sys.path.
static bool isValid ()
static String getStartupLog ()
Execution

static String run (const String &s, bool &result)
static String runFile (const String &filename) throw (Exception::FileNotFound)
static bool importModule (const String &module_name)

Static Protected Attributes

static PathStrings sys_path_
static bool valid_
static String start_log_

Private Member Functions

 PyInterpreter ()
 ~PyInterpreter ()

Detailed Description

Embedded Python interpreter. There's just one global instance of the interpreter, so all methods are static. The use of subinterpreters is not yet supported.

Definition at line 32 of file pyInterpreter.h.


Member Typedef Documentation

Used to encode the individual paths appended to sys.path for dynamic loading of modules.

Definition at line 43 of file pyInterpreter.h.


Constructor & Destructor Documentation

BALL::PyInterpreter::PyInterpreter (  )  [private]
BALL::PyInterpreter::~PyInterpreter (  )  [inline, private]

Definition at line 37 of file pyInterpreter.h.


Member Function Documentation

static void BALL::PyInterpreter::finalize (  )  [static]

Stop the interpreter. Deallocate all memory occupied by the interpreter (by calling PY_Finalize.

static String BALL::PyInterpreter::getStartupLog (  )  [inline, static]

Definition at line 80 of file pyInterpreter.h.

static const PathStrings& BALL::PyInterpreter::getSysPath (  )  [static]

Get the current paths added to sys.path.

static bool BALL::PyInterpreter::importModule ( const String module_name  )  [static]

Import a module. The module with name module_name is imported using PyImport_ImportModule and initialized. When called

Returns:
true if the modules was found an initialized correctly
static void BALL::PyInterpreter::initialize (  )  [static]

Initialize the interpreter. Initialize the interpreter (by calling Py_Initialize) and load the modules sys, site, and BALL. A second call to initialize may be used to restart the intepreter. Upon start, the paths defined by setSysPath are added to sys.path. If your interpreter cannot load specific modules, add the location of your modules here.

static bool BALL::PyInterpreter::isInitialized (  )  [static]

Determine the interpreter state.

Returns:
true if the interpreter is correctly initialized
static bool BALL::PyInterpreter::isValid (  )  [inline, static]

Definition at line 77 of file pyInterpreter.h.

static String BALL::PyInterpreter::run ( const String s,
bool result 
) [static]

Execute a string.

Parameters:
s the string to run (may contain multiple lines with correct indentation)
result bool reference which contains the result after call of function
Returns:
the output of the interpreter (may also contain error messages)
static String BALL::PyInterpreter::runFile ( const String filename  )  throw (Exception::FileNotFound) [static]

Run a Python program from a file.

Parameters:
file_name the name of the program file
static void BALL::PyInterpreter::setSysPath ( const PathStrings path_strings  )  [static]

Append additional search paths to sys.path upon initialization.


Member Data Documentation

Definition at line 111 of file pyInterpreter.h.

Definition at line 109 of file pyInterpreter.h.

bool BALL::PyInterpreter::valid_ [static, protected]

Definition at line 110 of file pyInterpreter.h.

Generated by  doxygen 1.6.3