Repository navigation
Expand file tree
/
Copy pathSysbotBase_Descriptor.cpp
More file actions
75 lines (55 loc) · 1.87 KB
/
Copy pathSysbotBase_Descriptor.cpp
File metadata and controls
75 lines (55 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/* sys-botbase Descriptor
*
* From: https://github.com/PokemonAutomation/
*
*/
#include "Common/Cpp/Json/JsonValue.h"
#include "SysbotBase_Descriptor.h"
#include "SysbotBase_Connection.h"
#include "SysbotBase3_ProController.h"
#include "SysbotBase_SelectorWidget.h"
//#include <iostream>
//using std::cout;
//using std::endl;
namespace PokemonAutomation{
template class InterfaceType_t<SysbotBase::TcpSysbotBase_Descriptor>;
namespace SysbotBase{
bool TcpSysbotBase_Descriptor::operator==(const ControllerDescriptor& x) const{
if (typeid(*this) != typeid(x)){
return false;
}
return m_url == static_cast<const TcpSysbotBase_Descriptor&>(x).m_url;
}
std::string TcpSysbotBase_Descriptor::display_name() const{
return m_url;
}
void TcpSysbotBase_Descriptor::load_json(const JsonValue& json){
const std::string* url = json.to_string();
if (url == nullptr || url->empty()){
return;
}
m_url = *url;
}
JsonValue TcpSysbotBase_Descriptor::to_json() const{
return m_url;
}
std::unique_ptr<ControllerConnection> TcpSysbotBase_Descriptor::open_connection(Logger& logger) const{
return std::unique_ptr<ControllerConnection>(
new TcpSysbotBase_Connection(logger, m_url)
);
}
std::unique_ptr<AbstractController> TcpSysbotBase_Descriptor::make_controller(
Logger& logger,
ControllerConnection& connection,
ControllerType controller_type
) const{
TcpSysbotBase_Connection& sbb_connection = static_cast<TcpSysbotBase_Connection&>(connection);
return std::unique_ptr<AbstractController>(
new NintendoSwitch::ProController_SysbotBase3(logger, sbb_connection)
);
}
QWidget* TcpSysbotBase_Descriptor::make_selector_QtWidget(ControllerSelectorWidget& parent) const{
return new TcpSysbotBase_SelectorWidget(parent, this);
}
}
}