Home
Base module

Application

Main icey application class.

Application

#include <icy/application.h>
class Application

Defined in src/base/include/icy/application.h:39

Main icey application class.

This class exposes basic features required by most applications:

  • Running the event loop

  • Command line option parsing See also: OptionParser

  • Shutdown signal (Ctrl-C) handling

  • Garbage collection

Example

#include <icy/application.h>

int main()
{
    icy::Application app;
    app.waitForShutdown();
    return 0;
}

List of all members

NameKindOwner
loopvariableDeclared here
ApplicationfunctionDeclared here
~ApplicationfunctionDeclared here
runfunctionDeclared here
stopfunctionDeclared here
finalizefunctionDeclared here
waitForShutdownfunctionDeclared here
bindShutdownSignalfunctionDeclared here
getDefaultfunctionDeclared here
ApplicationfunctionDeclared here
operator=functionDeclared here
ApplicationfunctionDeclared here
operator=functionDeclared here

Public Attributes

ReturnNameDescription
uv::Loop *loopActive event loop.

loop

uv::Loop * loop

Defined in src/base/include/icy/application.h:56

Active event loop.

The event loop may be assigned on construction, otherwise the default event loop will be used.

Public Methods

ReturnNameDescription
ApplicationConstructor.
~ApplicationDestructor.
voidrunRun the application event loop.
voidstopStop the application event loop.
voidfinalizeFinalize and free any remaining pointers still held by the application event loop.
voidwaitForShutdownBind the shutdown signal and run the main event loop.
voidbindShutdownSignalBind the shutdown signal.

Application

Application(uv::Loop * loop = uv::defaultLoop())

Defined in src/base/include/icy/application.h:43

Constructor.


~Application

~Application()

Defined in src/base/include/icy/application.h:46

Destructor.


run

void run()

Defined in src/base/include/icy/application.h:63

Run the application event loop.


stop

void stop()

Defined in src/base/include/icy/application.h:66

Stop the application event loop.


finalize

void finalize()

Defined in src/base/include/icy/application.h:70

Finalize and free any remaining pointers still held by the application event loop.


waitForShutdown

void waitForShutdown(std::function< void(void *)> callback = nullptr, void * opaque = nullptr)

Defined in src/base/include/icy/application.h:77

Bind the shutdown signal and run the main event loop.


bindShutdownSignal

void bindShutdownSignal(std::function< void(void *)> callback = nullptr, void * opaque = nullptr)

Defined in src/base/include/icy/application.h:81

Bind the shutdown signal.

Public Static Methods

ReturnNameDescription
Application &getDefault staticReturns the default Application singleton, although Application instances may be initialized individually.

getDefault

static

static Application & getDefault()

Defined in src/base/include/icy/application.h:50

Returns the default Application singleton, although Application instances may be initialized individually.

Protected Methods

ReturnNameDescription
ApplicationDeleted constructor.
ApplicationDeleted constructor.

Application

Application(const Application &) = delete

Defined in src/base/include/icy/application.h:85

Deleted constructor.


Application

Application(Application &&) = delete

Defined in src/base/include/icy/application.h:87

Deleted constructor.