HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
application_delegate.hpp
1// Copyright Take Vos 2020.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
4
5#pragma once
6
7#include "datum.hpp"
8#include <string>
9#include <vector>
10#include <optional>
11
12namespace tt {
13class gui_system;
14class gui_system_delegate;
15class audio_system_delegate;
16class application;
17
22public:
23 application_delegate() = default;
24 virtual ~application_delegate() = default;
25
26 virtual void init(application &self) {}
27 virtual void deinit(application &self) {}
28
31 virtual std::string application_name(application &self) const noexcept = 0;
32
35 virtual datum configuration(application &self, std::vector<std::string> arguments) const noexcept
36 {
37 return {};
38 }
39
44 {
45 return {};
46 }
47
52 {
53 return {};
54 }
55
61 virtual std::optional<int> main(application &self) = 0;
62
63};
64
65}
Definition application.hpp:36
application Delegate.
Definition application_delegate.hpp:21
virtual std::weak_ptr< audio_system_delegate > audio_system_delegate(application &self) noexcept
The delegate to be used for the audio system.
Definition application_delegate.hpp:43
virtual std::optional< int > main(application &self)=0
Initialize the application.
virtual datum configuration(application &self, std::vector< std::string > arguments) const noexcept
Definition application_delegate.hpp:35
virtual std::string application_name(application &self) const noexcept=0
virtual std::weak_ptr< gui_system_delegate > gui_system_delegate(application &self) noexcept
The delegate to be used for the gui system.
Definition application_delegate.hpp:51