45 #include "../rtt-config.h" 49 #include "../internal/GlobalEngine.hpp" 50 #include "../types/GlobalsRepository.hpp" 51 #include "../types/TypekitRepository.hpp" 53 #ifdef OROPKG_OS_THREAD_SCOPE 54 # include <boost/scoped_ptr.hpp> 55 # include "../extras/dev/DigitalOutInterface.hpp" 59 #ifdef OS_HAVE_IOSTREAM 66 #include "../Logger.hpp" 72 static int os_argc_arg;
73 static char** os_argv_arg;
77 #ifdef OS_HAVE_MANUAL_CRT 90 #ifdef OROPKG_OS_THREAD_SCOPE 93 boost::scoped_ptr<DigitalOutInterface> pp;
118 #ifdef OS_HAVE_IOSTREAM 119 cerr <<
endl<<
" Orocos has detected an uncaught C++ exception"<<
endl;
120 cerr <<
" in the ORO_main() function."<<
endl;
121 cerr <<
" You might have called a function which throws"<<
endl;
122 cerr <<
" without a try {} catch {} block."<< endl <<
endl;
123 cerr <<
"To Debug this situation, issue the following command:"<<endl<<
endl;
124 cerr <<
" valgrind -v --num-callers=16 "<< prog <<
" [options...] --nocatch" <<
endl;
125 cerr <<
"Which will show where the exception occured."<<
endl;
126 cerr <<
" ( Change num-callers for more/less detail."<<
endl;
127 cerr <<
" Also, compiling orocos and your program with"<<
endl;
128 cerr <<
" -g adds more usefull information. )"<<endl<<
endl;
130 printf(
"Orocos intercepted an uncaught C++ exception\n");
137 #ifdef OS_HAVE_IOSTREAM 138 cerr <<
endl<<
" Caught std::exception." <<
endl <<
" what(): " << arg.what() <<
endl;
150 for(
int i=1; i < argc; ++i)
164 #ifdef OROPKG_OS_THREAD_SCOPE 193 #ifdef OS_HAVE_MANUAL_CRT static NameServer< DigitalOutInterface * > nameserver
The NameServer of this interface.
static ThreadInterface * Instance()
Return an object which represents the main thread.
Prototype definitions of common os init/exit calls.
void __os_printException(const char *prog, std::exception &arg)
Internal: Inform the user that a failure occured.
int __os_checkException(int &argc, char **argv)
Internal: Check if the user requests disabling exception catching at run-time.
int __os_init(int argc, char **argv)
Call this function from within main() before using the RTT services.
static void Release()
Removes all Typekits and transports from memory.
bool start()
Call all registered start functions.
static bool Release()
Releases the TimeService Reference counting might aid in making this call safe.
int __os_main_argc(void)
Call this function to find out how many arguments were passed to the process' main() function...
static StartStopManager * Instance()
virtual void switchOn(unsigned int n)=0
Sets the n'th output on.
basic_ostreams & endl(basic_ostreams &s)
Flush and newline.
void __os_exit(void)
Call this function from within main() after using the RTT services, just before returning.
char ** __os_main_argv(void)
Call this function to get the list of arguments of this process' main() function. ...
OS Abstractions such as Mutexes, Semaphores and Threads.
static void Release()
This is called to cleanup the main thread.
static void Release()
Frees all globals.
const char * oro_catchflag2
void __os_printFailure(const char *prog)
Internal: Inform the user that a failure occured.
static std::ostream & endl(std::ostream &__os)
ValueType getObject(const NameType &s) const
Get the object registered for a name.
static Logger & log()
As Instance(), but more userfriendly.
static void Release()
Delete the singleton logger.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
void stop()
Call all registered stop functions.
static RTT_API void Release()
A class representing a Digital Output device which can read or write a maximum of 32 bits at once...
const char * oro_catchflag