libzypp 17.37.17
application.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8----------------------------------------------------------------------/
9*
10* This file contains private API, this might break at any time between releases.
11* Strictly for internal use!
12*/
13
14#ifndef ZYPP_TUI_TUIAPPLICATION_INCLUDED
15#define ZYPP_TUI_TUIAPPLICATION_INCLUDED
16
18#include <zypp-tui/Config>
19#include <memory>
20
21namespace ztui {
22
23 class Out;
24 static constexpr int ZTUI_EXIT_OK = 0;
25
27 {
28 public:
30 virtual ~Application();
31
36 static Application & instance();
37
38 const Config &config () const;
40
41 virtual Out & out();
42 virtual void setOutputWriter( Out * out );
43
44 int exitCode() const { return _exitCode; }
45 void setExitCode( int exit );
46
47 protected:
48 Application ( std::shared_ptr<Config> &&cfg );
49
50 private:
51 void init();
53 std::shared_ptr<Config> _config;
54 std::shared_ptr<Out> _out;
55 };
56}
57
58
59
60#endif
virtual void setOutputWriter(Out *out)
std::shared_ptr< Out > _out
Definition application.h:54
std::shared_ptr< Config > _config
Definition application.h:53
virtual ~Application()
static Application & instance()
virtual Out & out()
int exitCode() const
Definition application.h:44
const Config & config() const
Config & mutableConfig()
Base class for producing common (for now) zypper output.
Definition Out.h:424
Application(const sat::Solvable &solvable_r)
Ctor.
static constexpr int ZTUI_EXIT_OK
Definition application.h:24
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
Definition NonCopyable.h:26