eckit::Application class

Base classes

class Task
class Main

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()

Platform agnostic hostname.

static void eckit::Application::initialise(int argc, char** argv, const char* homeenv = nullptr)

Ensure that there exits a Main object. This is to be used For unit tests and fortran bindinds only

static bool eckit::Application::ready()

int eckit::Application::argc() const

char** eckit::Application::argv() const

std::string eckit::Application::argv(int n) const

const std::string& eckit::Application::home() const

long eckit::Application::taskID() const

void eckit::Application::taskID(long)

const std::string& eckit::Application::name() const virtual

Name of the program as called from the command-line.

const std::string& eckit::Application::displayName() const virtual

Name to display in logs. Default is name(), but can be configured differently.

bool eckit::Application::debug() const virtual

LogTarget* eckit::Application::createMetricsLogTarget() const virtual