Fawkes API Fawkes Development Version
run.h
1
2/***************************************************************************
3 * run.h - Fawkes run functions
4 *
5 * Created: Wed May 04 23:23:23 2011
6 * Copyright 2006-2011 Tim Niemueller [www.niemueller.de]
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version. A runtime exception applies to
14 * this software (see LICENSE.GPL_WRE file mentioned below for details).
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Library General Public License for more details.
20 *
21 * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22 */
23
24#ifndef _LIBS_BASEAPP_RUN_H_
25#define _LIBS_BASEAPP_RUN_H_
26
27#include <baseapp/init_options.h>
28
29namespace fawkes {
30class ArgumentParser;
31class MultiLogger;
32class NetworkLogger;
33class BlackBoard;
34class Configuration;
35class FawkesMainThread;
36class PluginManager;
37class AspectManager;
38class ThreadManager;
39class FawkesNetworkManager;
40class Clock;
41class Time;
42class ConfigNetworkHandler;
43class PluginNetworkHandler;
44
45namespace tf {
46class Transformer;
47class TransformListener;
48} // namespace tf
49
50namespace runtime {
51
52extern ArgumentParser * argument_parser;
53extern FawkesMainThread * main_thread;
54extern MultiLogger * logger;
55extern NetworkLogger * network_logger;
56extern BlackBoard * blackboard;
57extern Configuration * config;
58extern Clock * clock;
59extern PluginManager * plugin_manager;
60extern AspectManager * aspect_manager;
61extern ThreadManager * thread_manager;
62extern FawkesNetworkManager * network_manager;
63extern ConfigNetworkHandler * nethandler_config;
64extern PluginNetworkHandler * nethandler_plugin;
65extern tf::Transformer * tf_transformer;
66extern tf::TransformListener *tf_listener;
67extern Time * start_time;
68
69bool init(int argc, char **argv, int &retval);
70bool init(const InitOptions &options, int &retval);
71void run();
72void cleanup();
73void quit();
74float uptime();
75
76void print_usage(const char *progname);
77
78} // end namespace runtime
79} // end namespace fawkes
80
81#endif
Fawkes library namespace.