orxonox::TclThreadManager Class Reference

#include <src/core/TclThreadManager.h>

Inheritance diagram for orxonox::TclThreadManager:

orxonox::OrxonoxClass

List of all members.

Public Member Functions

void debug (const std::string &error)
void error (const std::string &error)
std::list< unsigned int > getThreadList () const
 TclThreadManager (Tcl::interpreter *interpreter)
void update (const Clock &time)
 ~TclThreadManager ()

Static Public Member Functions

static unsigned int create ()
static unsigned int createID (unsigned int threadID)
static void destroy (unsigned int threadID)
static void dump (unsigned int threadID)
static void execute (unsigned int threadID, const std::string &command)
static void flush (unsigned int threadID)
static TclThreadManagergetInstance ()
static std::string query (unsigned int threadID, const std::string &command)
static void status ()

Private Member Functions

Tcl::interpretercreateNewTclInterpreter (const std::string &threadID)
std::string dumpList (const std::list< unsigned int > &list)
std::string evalQuery (unsigned int querierID, unsigned int threadID, const std::string &command)
std::string evalQuery (unsigned int querierID, const std::string &command)
void forceCommandToFrontOfQueue (const std::string &command)
TclInterpreterBundlegetInterpreterBundle (unsigned int threadID)
Tcl::interpretergetTclInterpreter (unsigned int threadID)
std::string popCommandFromQueue (unsigned int threadID)
std::string popCommandFromQueue ()
void pushCommandToQueue (unsigned int threadID, const std::string &command)
void pushCommandToQueue (const std::string &command)
bool queueIsEmpty (unsigned int threadID)
bool queueIsEmpty ()
 TclThreadManager (const TclThreadManager &other)
bool updateQueriersList (TclInterpreterBundle *querier, TclInterpreterBundle *target)

Static Private Member Functions

static std::string tcl_crossquery (int querierID, int threadID, Tcl::object const &args)
static void tcl_execute (Tcl::object const &args)
static std::string tcl_query (int querierID, Tcl::object const &args)
static bool tcl_running (int threadID)

Private Attributes

std::map< unsigned int,
TclInterpreterBundle * > 
interpreterBundles_
TclInterpreterBundleorxonoxInterpreterBundle_
unsigned int threadCounter_

Static Private Attributes

static TclThreadManagersingletonRef_s = 0

Friends

class IRC
class TclBind


Constructor & Destructor Documentation

orxonox::TclThreadManager::TclThreadManager ( Tcl::interpreter interpreter  ) 

orxonox::TclThreadManager::~TclThreadManager (  ) 

orxonox::TclThreadManager::TclThreadManager ( const TclThreadManager other  )  [private]


Member Function Documentation

unsigned int orxonox::TclThreadManager::create (  )  [static]

unsigned int orxonox::TclThreadManager::createID ( unsigned int  threadID  )  [static]

Tcl::interpreter * orxonox::TclThreadManager::createNewTclInterpreter ( const std::string threadID  )  [private]

void orxonox::TclThreadManager::debug ( const std::string error  ) 

void orxonox::TclThreadManager::destroy ( unsigned int  threadID  )  [static]

void orxonox::TclThreadManager::dump ( unsigned int  threadID  )  [static]

std::string orxonox::TclThreadManager::dumpList ( const std::list< unsigned int > &  list  )  [private]

References orxonox::multi_cast().

Referenced by updateQueriersList().

void orxonox::TclThreadManager::error ( const std::string error  ) 

std::string orxonox::TclThreadManager::evalQuery ( unsigned int  querierID,
unsigned int  threadID,
const std::string command 
) [private]

std::string orxonox::TclThreadManager::evalQuery ( unsigned int  querierID,
const std::string command 
) [private]

void orxonox::TclThreadManager::execute ( unsigned int  threadID,
const std::string command 
) [static]

void orxonox::TclThreadManager::flush ( unsigned int  threadID  )  [static]

void orxonox::TclThreadManager::forceCommandToFrontOfQueue ( const std::string command  )  [private]

static TclThreadManager& orxonox::TclThreadManager::getInstance (  )  [inline, static]

TclInterpreterBundle * orxonox::TclThreadManager::getInterpreterBundle ( unsigned int  threadID  )  [private]

Tcl::interpreter * orxonox::TclThreadManager::getTclInterpreter ( unsigned int  threadID  )  [private]

std::list< unsigned int > orxonox::TclThreadManager::getThreadList (  )  const

std::string orxonox::TclThreadManager::popCommandFromQueue ( unsigned int  threadID  )  [private]

std::string orxonox::TclThreadManager::popCommandFromQueue (  )  [private]

void orxonox::TclThreadManager::pushCommandToQueue ( unsigned int  threadID,
const std::string command 
) [private]

void orxonox::TclThreadManager::pushCommandToQueue ( const std::string command  )  [private]

std::string orxonox::TclThreadManager::query ( unsigned int  threadID,
const std::string command 
) [static]

bool orxonox::TclThreadManager::queueIsEmpty ( unsigned int  threadID  )  [private]

bool orxonox::TclThreadManager::queueIsEmpty (  )  [private]

void orxonox::TclThreadManager::status (  )  [static]

std::string orxonox::TclThreadManager::tcl_crossquery ( int  querierID,
int  threadID,
Tcl::object const &  args 
) [static, private]

void orxonox::TclThreadManager::tcl_execute ( Tcl::object const &  args  )  [static, private]

std::string orxonox::TclThreadManager::tcl_query ( int  querierID,
Tcl::object const &  args 
) [static, private]

bool orxonox::TclThreadManager::tcl_running ( int  threadID  )  [static, private]

void orxonox::TclThreadManager::update ( const Clock time  ) 

bool orxonox::TclThreadManager::updateQueriersList ( TclInterpreterBundle querier,
TclInterpreterBundle target 
) [private]


Friends And Related Function Documentation

friend class IRC [friend]

friend class TclBind [friend]


Member Data Documentation

Referenced by create(), createID(), and TclThreadManager().


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

Generated on Tue Jul 28 16:23:08 2009 for Orxonox by  doxygen 1.5.6