Goby3 3.3.0
2025.07.10
Loading...
Searching...
No Matches
goby::middleware::Application< Config > Class Template Referenceabstract

Base class for Goby applications. Generally you will want to use SingleThreadApplication or MultiThreadApplication rather than instantiating this class directly. More...

#include <goby/middleware/application/interface.h>

Inheritance diagram for goby::middleware::Application< Config >:
goby::middleware::MultiThreadApplicationBase< Config, InterVehicleForwarder< InterProcessPortal< InterThreadTransporter > > > goby::middleware::MultiThreadApplicationBase< Config, InterThreadTransporter > goby::middleware::MultiThreadApplicationBase< Config, Transporter > goby::middleware::SingleThreadApplication< Config, InterProcessPortal > goby::middleware::MultiThreadApplication< Config, InterProcessPortal > goby::middleware::MultiThreadStandaloneApplication< Config > goby::middleware::MultiThreadTest< Config >

Public Types

using ConfigType = Config
 

Public Member Functions

 Application ()
 
virtual ~Application ()
 

Protected Member Functions

virtual void pre_initialize ()
 Called just before initialize.
 
virtual void initialize ()
 Perform any initialize tasks that couldn't be done in the constructor.
 
virtual void post_initialize ()
 Called just after initialize.
 
virtual void run ()=0
 Runs once.
 
virtual void pre_finalize ()
 Called just before finalize.
 
virtual void finalize ()
 Perform any final cleanup actions just before the destructor is called.
 
virtual void post_finalize ()
 Called just after finalize.
 
void quit (int return_value=0)
 Requests a clean exit.
 
const Config & app_cfg ()
 Accesses configuration object passed at launch.
 
const util::UTMGeodesygeodesy ()
 Accesses the geodetic conversion tool if lat_origin and lon_origin were provided.
 
bool has_geodesy ()
 Returns if the geodesy tool is configured with a datum.
 
std::string app_name ()
 
bool app_alive ()
 
boost::units::quantity< boost::units::si::frequency > choose_loop_freq (boost::units::quantity< boost::units::si::frequency > compiled_loop_freq)
 
void configure_geodesy (goby::util::UTMGeodesy::LatLonPoint datum)
 

Friends

template<typename App >
class goby::middleware::julia::ApplicationWrapper
 

Detailed Description

template<typename Config>
class goby::middleware::Application< Config >

Base class for Goby applications. Generally you will want to use SingleThreadApplication or MultiThreadApplication rather than instantiating this class directly.

Definition at line 77 of file interface.h.

Member Typedef Documentation

◆ ConfigType

template<typename Config >
using goby::middleware::Application< Config >::ConfigType = Config

Definition at line 86 of file interface.h.

Constructor & Destructor Documentation

◆ Application()

template<typename Config >
goby::middleware::Application< Config >::Application ( )

Definition at line 194 of file interface.h.

◆ ~Application()

template<typename Config >
virtual goby::middleware::Application< Config >::~Application ( )
inlinevirtual

Definition at line 81 of file interface.h.

Member Function Documentation

◆ app_alive()

template<typename Config >
bool goby::middleware::Application< Config >::app_alive ( )
inlineprotected

Definition at line 136 of file interface.h.

◆ app_cfg()

template<typename Config >
const Config & goby::middleware::Application< Config >::app_cfg ( )
inlineprotected

Accesses configuration object passed at launch.

Definition at line 120 of file interface.h.

◆ app_name()

template<typename Config >
std::string goby::middleware::Application< Config >::app_name ( )
inlineprotected

Definition at line 134 of file interface.h.

◆ choose_loop_freq()

template<typename Config >
boost::units::quantity< boost::units::si::frequency > goby::middleware::Application< Config >::choose_loop_freq ( boost::units::quantity< boost::units::si::frequency >  compiled_loop_freq)
inlineprotected

Definition at line 139 of file interface.h.

◆ configure_geodesy()

template<typename Config >
void goby::middleware::Application< Config >::configure_geodesy ( goby::util::UTMGeodesy::LatLonPoint  datum)
protected

Definition at line 310 of file interface.h.

◆ finalize()

template<typename Config >
virtual void goby::middleware::Application< Config >::finalize ( )
inlineprotectedvirtual

Perform any final cleanup actions just before the destructor is called.

Definition at line 105 of file interface.h.

◆ geodesy()

template<typename Config >
const util::UTMGeodesy & goby::middleware::Application< Config >::geodesy ( )
inlineprotected

Accesses the geodetic conversion tool if lat_origin and lon_origin were provided.

Definition at line 123 of file interface.h.

◆ has_geodesy()

template<typename Config >
bool goby::middleware::Application< Config >::has_geodesy ( )
inlineprotected

Returns if the geodesy tool is configured with a datum.

Definition at line 132 of file interface.h.

◆ initialize()

template<typename Config >
virtual void goby::middleware::Application< Config >::initialize ( )
inlineprotectedvirtual

Perform any initialize tasks that couldn't be done in the constructor.

Definition at line 93 of file interface.h.

◆ post_finalize()

◆ post_initialize()

template<typename Config >
virtual void goby::middleware::Application< Config >::post_initialize ( )
inlineprotectedvirtual

◆ pre_finalize()

template<typename Config >
virtual void goby::middleware::Application< Config >::pre_finalize ( )
inlineprotectedvirtual

Called just before finalize.

Definition at line 102 of file interface.h.

◆ pre_initialize()

template<typename Config >
virtual void goby::middleware::Application< Config >::pre_initialize ( )
inlineprotectedvirtual

Called just before initialize.

Definition at line 90 of file interface.h.

◆ quit()

template<typename Config >
void goby::middleware::Application< Config >::quit ( int  return_value = 0)
inlineprotected

Requests a clean exit.

Parameters
return_valueThe request return value

Definition at line 113 of file interface.h.

◆ run()

template<typename Config >
virtual void goby::middleware::Application< Config >::run ( )
protectedpure virtual

Runs once.

Friends And Related Symbol Documentation

◆ goby::middleware::julia::ApplicationWrapper

template<typename Config >
template<typename App >
friend class goby::middleware::julia::ApplicationWrapper
friend

Definition at line 155 of file interface.h.


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