Muster SDK  8.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
MTemplateEngine::MManager Class Reference

#include <MManager.h>

Public Member Functions

 MManager ()
 
 ~MManager ()
 
bool installTemplate (MTemplate *templateClass)
 
MTemplategetFirstTemplate ()
 
MTemplategetNextTemplate (int previous_uid)
 
std::string resolveMappingToJob (int template_id, const char *key)
 
std::string resolveMappingToTemplate (int template_id, const char *key)
 
void Lock (void)
 
void Unlock (void)
 
void acquirePython (void)
 
void releasePython (void)
 
std::string getPyExceptionStr ()
 
bool runPythonFile (const char *path, MClientLib::MStringRef &_err)
 
bool runPythonString (const char *buffer, const char *sourceFile, MClientLib::MStringRef &_err)
 
void registerPythonOutputCallbacks (redirectionFuncPtr, redirectionFuncPtr)
 
void onPythonStdout (const char *out)
 
void onPythonStderr (const char *out)
 
void onPythonStderrFlush ()
 
void onPythonStdoutFlush ()
 
bool _installPyTemplate (void *templateClass)
 
void clear (void)
 
void flushGC (void)
 
void addTemplateToGC (MTemplate *t)
 
void copyFrom (MManager *)
 
MTemplateparsePython (const char *template_buf, const char *template_filename, bool _recache, MClientLib::MStringRef &err, bool store=true)
 
MTemplategetTemplate (const char *name)
 
MTemplategetTemplateByFilename (const char *filename)
 
MTemplategetTemplate (int id)
 
MTemplategetTemplateAt (int num)
 
void unloadTemplate (int id)
 
int getTemplatesCount ()
 
int getNextFreeUID ()
 
void deallocateTemplate (MTemplate *t)
 
templatesHashesMapgetInternalHashesMap ()
 
void fillInternalHashesMap ()
 
std::string marshallHashesMap (templatesHashesMap *)
 
void unmarshallHashesMap (templatesHashesMap *, const char *)
 
void makeHashesMap (templatesHashesMap *)
 
void calculateHashesDiffs (templatesHashesMap *remote, templatesHashesMap *out_of_date, templatesHashesMap *invalid)
 
void deleteHashesMap (templatesHashesMap *)
 
void updateTemplateHash (MTemplate *t)
 
void sortListByField (const std::string &field, std::list< MTemplate * > *list)
 
bool validateJobSubmission (MClientLib::MJob &job, MClientLib::MStringRef &err)
 

Static Public Member Functions

static MManagergetUniqueClass (bool alloc=true)
 
static void destroyUniqueClass (void)
 
static MManagerallocateClass (void)
 
static void destroyClass (MManager *)
 
static void setIsMacBundle (bool isMacBundle)
 
static void setPythonPath (const std::string &_pythonPath)
 
static std::string getPythonPath ()
 
static void initializePythonPath (bool showPath=false)
 

Detailed Description

MManager class that holds the unique templates manager class singleton Holds data related to the unique templates manager singleton

Constructor & Destructor Documentation

MTemplateEngine::MManager::MManager ( )
MTemplateEngine::MManager::~MManager ( )

Member Function Documentation

bool MTemplateEngine::MManager::_installPyTemplate ( void *  templateClass)

Proxy method to install a template class. RESERVED!

void MTemplateEngine::MManager::acquirePython ( void  )

Acquire python execution. Required before invoking any Python commands

void MTemplateEngine::MManager::addTemplateToGC ( MTemplate t)

Adds a template to the garbage collector

static MManager* MTemplateEngine::MManager::allocateClass ( void  )
static

Allocates a custom manager class

void MTemplateEngine::MManager::calculateHashesDiffs ( templatesHashesMap remote,
templatesHashesMap out_of_date,
templatesHashesMap invalid 
)

Calculates the differences between two hashes maps

void MTemplateEngine::MManager::clear ( void  )

Clears the template manager content

void MTemplateEngine::MManager::copyFrom ( MManager )

Duplicates a template manager class

void MTemplateEngine::MManager::deallocateTemplate ( MTemplate t)

Deallocates a template class

void MTemplateEngine::MManager::deleteHashesMap ( templatesHashesMap )

Deletes an hashes map

static void MTemplateEngine::MManager::destroyClass ( MManager )
static

Destroy a specific singleton

static void MTemplateEngine::MManager::destroyUniqueClass ( void  )
static

Destroy the manager singleton

void MTemplateEngine::MManager::fillInternalHashesMap ( )

Rebuilds the internal templates hashes map

void MTemplateEngine::MManager::flushGC ( void  )

Forces a Garbage collector flush

MTemplate* MTemplateEngine::MManager::getFirstTemplate ( )

Get the first available template. Used for enumeration

templatesHashesMap* MTemplateEngine::MManager::getInternalHashesMap ( )

Gets the internal templates hashes map

int MTemplateEngine::MManager::getNextFreeUID ( )

Gets the next free UID

MTemplate* MTemplateEngine::MManager::getNextTemplate ( int  previous_uid)

Get the next available template. Used for enumeration

std::string MTemplateEngine::MManager::getPyExceptionStr ( )

Returns the latest Python exception string

static std::string MTemplateEngine::MManager::getPythonPath ( )
static

Gets the Python path

MTemplate* MTemplateEngine::MManager::getTemplate ( const char *  name)

Gets a template by name

MTemplate* MTemplateEngine::MManager::getTemplate ( int  id)

Gets a template by ID

MTemplate* MTemplateEngine::MManager::getTemplateAt ( int  num)

Gets a template by index

MTemplate* MTemplateEngine::MManager::getTemplateByFilename ( const char *  filename)

Gets a template by filename

int MTemplateEngine::MManager::getTemplatesCount ( )

Gets the total number of installed templates

static MManager* MTemplateEngine::MManager::getUniqueClass ( bool  alloc = true)
static

Returns the manager singleton

static void MTemplateEngine::MManager::initializePythonPath ( bool  showPath = false)
static

Initialize the Python path with the default values

bool MTemplateEngine::MManager::installTemplate ( MTemplate templateClass)

Installs a new template into the manager

void MTemplateEngine::MManager::Lock ( void  )

Locks the manager. Required in multi-threading environments

void MTemplateEngine::MManager::makeHashesMap ( templatesHashesMap )

Build an hashes map

std::string MTemplateEngine::MManager::marshallHashesMap ( templatesHashesMap )

Marshall the internal hashes map

void MTemplateEngine::MManager::onPythonStderr ( const char *  out)

Proxy method to redirect Python stderr. RESERVED!

void MTemplateEngine::MManager::onPythonStderrFlush ( )

Proxy method to flush Python output. RESERVED!

void MTemplateEngine::MManager::onPythonStdout ( const char *  out)

Proxy method to redirect Python output. RESERVED!

void MTemplateEngine::MManager::onPythonStdoutFlush ( )

Proxy method to flush Python stderr. RESERVED!

MTemplate* MTemplateEngine::MManager::parsePython ( const char *  template_buf,
const char *  template_filename,
bool  _recache,
MClientLib::MStringRef err,
bool  store = true 
)

Parses a Python template file and returns the expected template class

void MTemplateEngine::MManager::registerPythonOutputCallbacks ( redirectionFuncPtr  ,
redirectionFuncPtr   
)

Proxy method to redirect Python output. RESERVED!

void MTemplateEngine::MManager::releasePython ( void  )

Release python execution. Required before invoking any Python commands

std::string MTemplateEngine::MManager::resolveMappingToJob ( int  template_id,
const char *  key 
)

Resolves template built-in fields with Muster ones

std::string MTemplateEngine::MManager::resolveMappingToTemplate ( int  template_id,
const char *  key 
)

Resolves Muster built-in fields with templates ones

bool MTemplateEngine::MManager::runPythonFile ( const char *  path,
MClientLib::MStringRef _err 
)

Runs a Python file

bool MTemplateEngine::MManager::runPythonString ( const char *  buffer,
const char *  sourceFile,
MClientLib::MStringRef _err 
)

Runs a Python string

static void MTemplateEngine::MManager::setIsMacBundle ( bool  isMacBundle)
static

Tells the manager is it's invoked from a Mac bundle. Required for Python paths discovery

static void MTemplateEngine::MManager::setPythonPath ( const std::string &  _pythonPath)
static

Sets the path to the Python distribution required by the template manager

void MTemplateEngine::MManager::sortListByField ( const std::string &  field,
std::list< MTemplate * > *  list 
)

Sorts a template list

void MTemplateEngine::MManager::unloadTemplate ( int  id)

Unloads a template by ID

void MTemplateEngine::MManager::Unlock ( void  )

Unlocks the manager. Required in multi-threading environments

void MTemplateEngine::MManager::unmarshallHashesMap ( templatesHashesMap ,
const char *   
)

Unmarshall an hashes map

void MTemplateEngine::MManager::updateTemplateHash ( MTemplate t)

Updates a template hash

bool MTemplateEngine::MManager::validateJobSubmission ( MClientLib::MJob job,
MClientLib::MStringRef err 
)

Validates a job submission


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