class
#include <eckit/runtime/Application.h>
Application
Base classes
Derived classes
- class PipeApplication
Public static functions
- static auto instance() -> Application&
-
static auto hostname() -> std::
string - Platform agnostic hostname.
- static void initialise(int argc, char** argv, const char* homeenv = nullptr)
- static auto ready() -> bool
Constructors, destructors, conversion operators
- Application(int argc, char** argv, const char* homeenv = nullptr)
- ~Application() override
Public functions
- void run() pure virtual
- void unique()
- call this function once to make this application unique on this host
- void start() override
- void stop() override
- void kill() override
- void wait() override
- auto active() -> bool override
- auto running() const -> bool
- void terminate() override
- auto uptime() -> time_t
- auto argc() const -> int
- auto argv() const -> char**
-
auto argv(int n) const -> std::
string -
auto home() const -> const std::
string& - auto taskID() const -> long
- void taskID(long)
-
auto name() const -> const std::
string& virtual - Name of the program as called from the command-line.
-
auto displayName() const -> const std::
string& virtual - auto debug() const -> bool virtual
- auto createMetricsLogTarget() const -> LogTarget* virtual
Private functions
- auto createInfoLogTarget() const -> LogTarget* override
- Channel handling.
- auto createWarningLogTarget() const -> LogTarget* override
- auto createErrorLogTarget() const -> LogTarget* override
- auto createDebugLogTarget() const -> LogTarget* override
-
auto kind() const -> std::
string virtual - overriden from Configurable
Function documentation
static std:: string eckit:: Application:: hostname()
#include <eckit/runtime/Main.h>
Platform agnostic hostname.
static void eckit:: Application:: initialise(int argc,
char** argv,
const char* homeenv = nullptr)
#include <eckit/runtime/Main.h>
Ensure that there exits a Main object. This is to be used For unit tests and fortran bindinds only
static bool eckit:: Application:: ready()
#include <eckit/runtime/Main.h>
int eckit:: Application:: argc() const
#include <eckit/runtime/Main.h>
char** eckit:: Application:: argv() const
#include <eckit/runtime/Main.h>
std:: string eckit:: Application:: argv(int n) const
#include <eckit/runtime/Main.h>
const std:: string& eckit:: Application:: home() const
#include <eckit/runtime/Main.h>
long eckit:: Application:: taskID() const
#include <eckit/runtime/Main.h>
void eckit:: Application:: taskID(long)
#include <eckit/runtime/Main.h>
const std:: string& eckit:: Application:: name() const virtual
#include <eckit/runtime/Main.h>
Name of the program as called from the command-line.
const std:: string& eckit:: Application:: displayName() const virtual
#include <eckit/runtime/Main.h>
Name to display in logs. Default is name(), but can be configured differently.
bool eckit:: Application:: debug() const virtual
#include <eckit/runtime/Main.h>
LogTarget* eckit:: Application:: createMetricsLogTarget() const virtual
#include <eckit/runtime/Main.h>