Changeset 3353 for code/branches/resource/src/core/TclThreadManager.cc
- Timestamp:
- Jul 26, 2009, 1:02:22 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/resource/src/core/TclThreadManager.cc
r3350 r3353 248 248 249 249 // Define the functions which are implemented in C++ 250 newbundle->interpreter_->def(" orxonox::execute", TclThreadManager::tcl_execute, Tcl::variadic());251 newbundle->interpreter_->def(" orxonox::crossexecute", TclThreadManager::tcl_crossexecute, Tcl::variadic());252 newbundle->interpreter_->def(" orxonox::query", TclThreadManager::tcl_query, Tcl::variadic());253 newbundle->interpreter_->def(" orxonox::crossquery", TclThreadManager::tcl_crossquery, Tcl::variadic());254 newbundle->interpreter_->def(" orxonox::running", TclThreadManager::tcl_running);250 newbundle->interpreter_->def("::orxonox::execute", TclThreadManager::tcl_execute, Tcl::variadic()); 251 newbundle->interpreter_->def("::orxonox::crossexecute", TclThreadManager::tcl_crossexecute, Tcl::variadic()); 252 newbundle->interpreter_->def("::orxonox::query", TclThreadManager::tcl_query, Tcl::variadic()); 253 newbundle->interpreter_->def("::orxonox::crossquery", TclThreadManager::tcl_crossquery, Tcl::variadic()); 254 newbundle->interpreter_->def("::orxonox::running", TclThreadManager::tcl_running); 255 255 256 256 // Create threadspecific shortcuts for the functions above 257 257 newbundle->interpreter_->def("execute", TclThreadManager::tcl_execute, Tcl::variadic()); 258 258 newbundle->interpreter_->def("crossexecute", TclThreadManager::tcl_crossexecute, Tcl::variadic()); 259 newbundle->interpreter_->eval("proc query {args} { orxonox::query " + id_string + " $args }");260 newbundle->interpreter_->eval("proc crossquery {id args} { orxonox::crossquery " + id_string + " $id $args }");261 newbundle->interpreter_->eval("proc running {} { return [ orxonox::running " + id_string + "] }");259 newbundle->interpreter_->eval("proc query {args} { ::orxonox::query " + id_string + " $args }"); 260 newbundle->interpreter_->eval("proc crossquery {id args} { ::orxonox::crossquery " + id_string + " $id $args }"); 261 newbundle->interpreter_->eval("proc running {} { return [::orxonox::running " + id_string + "] }"); 262 262 263 263 // Define a variable containing the thread id … … 265 265 266 266 // Use our own exit function to avoid shutting down the whole program instead of just the interpreter 267 newbundle->interpreter_->eval("rename exit tcl::exit");267 newbundle->interpreter_->eval("rename exit ::tcl::exit"); 268 268 newbundle->interpreter_->eval("proc exit {} { execute TclThreadManager destroy " + id_string + " }"); 269 269 270 270 // Redefine some native functions 271 newbundle->interpreter_->eval("rename while tcl::while");272 newbundle->interpreter_->eval("rename orxonox::while while");273 newbundle->interpreter_->eval("rename for tcl::for");274 newbundle->interpreter_->eval("rename orxonox::for for");271 newbundle->interpreter_->eval("rename while ::tcl::while"); 272 newbundle->interpreter_->eval("rename ::orxonox::while while"); 273 newbundle->interpreter_->eval("rename for ::tcl::for"); 274 newbundle->interpreter_->eval("rename ::orxonox::for for"); 275 275 } 276 276 catch (const Tcl::tcl_error& e)
Note: See TracChangeset
for help on using the changeset viewer.