neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
i_console_client.hpp
Go to the documentation of this file.
1
// i_console_client.hpp
2
/*
3
neoGFX Design Studio
4
Copyright(C) 2022 Leigh Johnston
5
6
This program is free software: you can redistribute it and / or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#pragma once
21
22
#include <
neogfx/neogfx.hpp
>
23
#include <
neogfx/gui/widget/i_terminal.hpp
>
24
25
namespace
neogfx::DesignStudio
26
{
27
class
i_console_client
:
public
i_reference_counted
28
{
29
public
:
30
typedef
i_console_client
abstract_type
;
31
public
:
32
declare_event
(output, std::string
const
&)
33
public
:
34
virtual
~i_console_client
() =
default
;
35
public
:
36
virtual
void
start
() = 0;
37
virtual
void
resize_window
(std::uint16_t aWidth, std::uint16_t aHeight) = 0;
38
virtual
void
input
(std::string
const
& aText) = 0;
39
};
40
41
class
i_console_client_manager
:
public
i_reference_counted
42
{
43
public
:
44
typedef
i_console_client_manager
abstract_type
;
45
public
:
46
declare_event
(start_console_client_session,
i_terminal
&,
i_string
const
&,
i_ref_ptr<i_console_client>
&)
47
public
:
48
static
uuid
const
& iid() {
static
uuid
const
sIid{ 0x1a38eb2c, 0x220a, 0x437c, 0x9c85, { 0xaf, 0x83, 0x23, 0x78, 0x3c, 0xd4 } };
return
sIid; }
49
};
50
}
neogfx::DesignStudio::i_console_client_manager
Definition
i_console_client.hpp:42
neogfx::DesignStudio::i_console_client_manager::declare_event
declare_event(start_console_client_session, i_terminal &, i_string const &, i_ref_ptr< i_console_client > &) public
Definition
i_console_client.hpp:46
neogfx::DesignStudio::i_console_client_manager::abstract_type
i_console_client_manager abstract_type
Definition
i_console_client.hpp:44
neogfx::DesignStudio::i_console_client
Definition
i_console_client.hpp:28
neogfx::DesignStudio::i_console_client::resize_window
virtual void resize_window(std::uint16_t aWidth, std::uint16_t aHeight)=0
neogfx::DesignStudio::i_console_client::start
virtual void start()=0
neogfx::DesignStudio::i_console_client::abstract_type
i_console_client abstract_type
Definition
i_console_client.hpp:30
neogfx::DesignStudio::i_console_client::input
virtual void input(std::string const &aText)=0
neogfx::i_terminal
Definition
i_terminal.hpp:28
neolib::i_ref_ptr
Definition
i_reference_counted.hpp:78
neolib::i_reference_counted
Definition
i_reference_counted.hpp:58
neolib::i_string
Definition
i_string.hpp:49
i_terminal.hpp
neogfx::DesignStudio
Definition
console_client.hpp:26
neogfx.hpp
declare_event
#define declare_event(declName,...)
Definition
i_event.hpp:305
neolib::uuid
Definition
uuid.hpp:51
include
neogfx
tools
DesignStudio
i_console_client.hpp
Generated by
1.9.8