diff options
| author | FearlessTobi <thm.frey@gmail.com> | 2021-12-25 20:27:52 +0100 |
|---|---|---|
| committer | FearlessTobi <thm.frey@gmail.com> | 2022-07-25 21:59:28 +0200 |
| commit | 705f7db84dd85555a6aef1e136cf251725cef293 (patch) | |
| tree | e110c6482a11d711d18515afce4fc50adcee76e7 /src/yuzu/multiplayer/validation.h | |
| parent | dcfe0a5febb252e3a4f40c1b25765740a269467f (diff) | |
yuzu: Add ui files for multiplayer rooms
Diffstat (limited to 'src/yuzu/multiplayer/validation.h')
| -rw-r--r-- | src/yuzu/multiplayer/validation.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/yuzu/multiplayer/validation.h b/src/yuzu/multiplayer/validation.h new file mode 100644 index 000000000..1c215a190 --- /dev/null +++ b/src/yuzu/multiplayer/validation.h @@ -0,0 +1,49 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <QRegExp> +#include <QString> +#include <QValidator> + +class Validation { +public: + Validation() + : room_name(room_name_regex), nickname(nickname_regex), ip(ip_regex), port(0, 65535) {} + + ~Validation() = default; + + const QValidator* GetRoomName() const { + return &room_name; + } + const QValidator* GetNickname() const { + return &nickname; + } + const QValidator* GetIP() const { + return &ip; + } + const QValidator* GetPort() const { + return &port; + } + +private: + /// room name can be alphanumeric and " " "_" "." and "-" and must have a size of 4-20 + QRegExp room_name_regex = QRegExp(QStringLiteral("^[a-zA-Z0-9._- ]{4,20}$")); + QRegExpValidator room_name; + + /// nickname can be alphanumeric and " " "_" "." and "-" and must have a size of 4-20 + QRegExp nickname_regex = QRegExp(QStringLiteral("^[a-zA-Z0-9._- ]{4,20}$")); + QRegExpValidator nickname; + + /// ipv4 address only + // TODO remove this when we support hostnames in direct connect + QRegExp ip_regex = QRegExp(QStringLiteral( + "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|" + "2[0-4][0-9]|25[0-5])")); + QRegExpValidator ip; + + /// port must be between 0 and 65535 + QIntValidator port; +}; |
