remove network and curly modules

This commit is contained in:
BlackMATov
2020-05-27 18:38:42 +07:00
parent 64a933fc0c
commit 7fc811399e
14 changed files with 5 additions and 229 deletions

View File

@@ -1,11 +1,15 @@
-Iheaders
-Iheaders/3rdparty
-Iheaders/3rdparty/lua
-Iheaders/3rdparty/imgui
-Iheaders/3rdparty/pugixml
-Isources
-Isources/3rdparty
-Imodules/ecs.hpp/headers
-Imodules/enum.hpp/headers
-Imodules/flat.hpp/headers
-Imodules/curly.hpp/headers
-Imodules/promise.hpp/headers
-Imodules/glew/include

3
.gitmodules vendored
View File

@@ -34,9 +34,6 @@
[submodule "modules/flat.hpp"]
path = modules/flat.hpp
url = https://github.com/BlackMATov/flat.hpp
[submodule "modules/curly.hpp"]
path = modules/curly.hpp
url = https://github.com/BlackMATov/curly.hpp
[submodule "modules/spine"]
path = modules/spine
url = https://github.com/EsotericSoftware/spine-runtimes.git

View File

@@ -116,13 +116,6 @@ file(GLOB_RECURSE E2D_3RDPARTY
# e2d external 3rd party
#
set(USE_STATIC_CRT ${E2D_BUILD_WITH_STATIC_CRT} CACHE INTERNAL "" FORCE)
set(USE_SYSTEM_CURL OFF CACHE INTERNAL "" FORCE)
set(USE_EMBEDDED_CURL ON CACHE INTERNAL "" FORCE)
add_subdirectory(modules/curly.hpp)
set_target_properties(curly.hpp libcurl PROPERTIES FOLDER modules)
add_subdirectory(modules/ecs.hpp)
add_subdirectory(modules/enum.hpp)
add_subdirectory(modules/flat.hpp)
@@ -227,7 +220,6 @@ source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES
${E2D_3RDPARTY})
target_link_libraries(${PROJECT_NAME}
PUBLIC curly.hpp
PUBLIC ecs.hpp
PUBLIC enum.hpp
PUBLIC flat.hpp

View File

@@ -14,7 +14,6 @@
#include "deferrer.hpp"
#include "engine.hpp"
#include "input.hpp"
#include "network.hpp"
#include "platform.hpp"
#include "profiler.hpp"
#include "render.hpp"

View File

@@ -10,19 +10,12 @@
#include "../math/_all.hpp"
#include "../utils/_all.hpp"
#include <curly.hpp/curly.hpp>
#include <promise.hpp/jobber.hpp>
#include <promise.hpp/promise.hpp>
#include <promise.hpp/scheduler.hpp>
namespace e2d
{
namespace net
{
using namespace curly_hpp;
}
namespace stdex
{
using namespace jobber_hpp;
@@ -40,7 +33,6 @@ namespace e2d
class mouse;
class keyboard;
class input;
class network;
class platform;
class profiler;
class render;

View File

@@ -128,7 +128,6 @@ namespace e2d
parameters& game_name(str value) noexcept;
parameters& company_name(str value) noexcept;
parameters& without_audio(bool value);
parameters& without_network(bool value);
parameters& without_graphics(bool value);
parameters& debug_params(debug_parameters value) noexcept;
parameters& window_params(window_parameters value) noexcept;
@@ -137,7 +136,6 @@ namespace e2d
str& game_name() noexcept;
str& company_name() noexcept;
bool& without_audio() noexcept;
bool& without_network() noexcept;
bool& without_graphics() noexcept;
debug_parameters& debug_params() noexcept;
window_parameters& window_params() noexcept;
@@ -146,7 +144,6 @@ namespace e2d
const str& game_name() const noexcept;
const str& company_name() const noexcept;
bool without_audio() const noexcept;
bool without_network() const noexcept;
bool without_graphics() const noexcept;
const debug_parameters& debug_params() const noexcept;
const window_parameters& window_params() const noexcept;
@@ -155,7 +152,6 @@ namespace e2d
str game_name_{"noname"};
str company_name_{"noname"};
bool without_audio_{false};
bool without_network_{false};
bool without_graphics_{false};
debug_parameters debug_params_;
window_parameters window_params_;

View File

@@ -1,79 +0,0 @@
/*******************************************************************************
* This file is part of the "Enduro2D"
* For conditions of distribution and use, see copyright notice in LICENSE.md
* Copyright (C) 2018-2020, by Matvey Cherevko (blackmatov@gmail.com)
******************************************************************************/
#pragma once
#include "_core.hpp"
namespace e2d
{
//
// bad_network_operation
//
class bad_network_operation final : public exception {
public:
const char* what() const noexcept final {
return "bad network operation";
}
};
//
// request_network_error
//
class request_network_error final : public exception {
public:
request_network_error() = default;
request_network_error(str error)
: error_(std::move(error)) {}
const char* what() const noexcept final {
return error_.empty()
? "request network error"
: error_.c_str();
}
private:
str error_;
};
//
// request_cancelled_exception
//
class request_cancelled_exception : public exception {
public:
const char* what() const noexcept override {
return "request cancelled exception";
}
};
//
// network_request
//
struct network_request final {
net::request request;
stdex::promise<net::response> promise;
};
//
// network
//
class network final : public module<network> {
public:
network();
~network() noexcept;
network_request request(net::request_builder& rb);
network_request request(net::request_builder&& rb);
private:
class internal_state;
std::unique_ptr<internal_state> state_;
};
}

View File

@@ -7,9 +7,6 @@ cloc \
$SCRIPT_DIR/../samples/sources \
$SCRIPT_DIR/../untests/bin \
$SCRIPT_DIR/../untests/sources \
$SCRIPT_DIR/../modules/curly.hpp/headers \
$SCRIPT_DIR/../modules/curly.hpp/sources \
$SCRIPT_DIR/../modules/curly.hpp/untests \
$SCRIPT_DIR/../modules/ecs.hpp/headers \
$SCRIPT_DIR/../modules/ecs.hpp/untests \
$SCRIPT_DIR/../modules/enum.hpp/headers \

View File

@@ -3,8 +3,6 @@ SCRIPT_DIR=`dirname "$BASH_SOURCE"`
cloc \
$SCRIPT_DIR/../headers/enduro2d \
$SCRIPT_DIR/../sources/enduro2d \
$SCRIPT_DIR/../modules/curly.hpp/headers \
$SCRIPT_DIR/../modules/curly.hpp/sources \
$SCRIPT_DIR/../modules/ecs.hpp/headers \
$SCRIPT_DIR/../modules/enum.hpp/headers \
$SCRIPT_DIR/../modules/flat.hpp/headers \

View File

@@ -1,9 +1,6 @@
#!/bin/bash
SCRIPT_DIR=`dirname "$BASH_SOURCE"`
cloc \
$SCRIPT_DIR/../modules/curly.hpp/headers \
$SCRIPT_DIR/../modules/curly.hpp/sources \
$SCRIPT_DIR/../modules/curly.hpp/untests \
$SCRIPT_DIR/../modules/ecs.hpp/headers \
$SCRIPT_DIR/../modules/ecs.hpp/untests \
$SCRIPT_DIR/../modules/enum.hpp/headers \

View File

@@ -11,7 +11,6 @@
#include <enduro2d/core/debug.hpp>
#include <enduro2d/core/deferrer.hpp>
#include <enduro2d/core/input.hpp>
#include <enduro2d/core/network.hpp>
#include <enduro2d/core/platform.hpp>
#include <enduro2d/core/profiler.hpp>
#include <enduro2d/core/render.hpp>
@@ -189,11 +188,6 @@ namespace e2d
return *this;
}
engine::parameters& engine::parameters::without_network(bool value) {
without_network_ = value;
return *this;
}
engine::parameters& engine::parameters::without_graphics(bool value) {
without_graphics_ = value;
return *this;
@@ -226,10 +220,6 @@ namespace e2d
return without_audio_;
}
bool& engine::parameters::without_network() noexcept {
return without_network_;
}
bool& engine::parameters::without_graphics() noexcept {
return without_graphics_;
}
@@ -258,10 +248,6 @@ namespace e2d
return without_audio_;
}
bool engine::parameters::without_network() const noexcept {
return without_network_;
}
bool engine::parameters::without_graphics() const noexcept {
return without_graphics_;
}
@@ -435,12 +421,6 @@ namespace e2d
the<debug>());
}
// setup network
if ( !params.without_network() ) {
safe_module_initialize<network>();
}
// setup graphics
const bool without_graphics =
@@ -481,7 +461,6 @@ namespace e2d
dbgui,
render,
window,
network,
audio,
input,
vfs,

View File

@@ -1,52 +0,0 @@
/*******************************************************************************
* This file is part of the "Enduro2D"
* For conditions of distribution and use, see copyright notice in LICENSE.md
* Copyright (C) 2018-2020, by Matvey Cherevko (blackmatov@gmail.com)
******************************************************************************/
#include <enduro2d/core/network.hpp>
namespace e2d
{
class network::internal_state final : private e2d::noncopyable {
public:
internal_state() = default;
~internal_state() noexcept = default;
private:
net::performer performer_;
};
}
namespace e2d
{
network::network()
: state_(new internal_state()) {}
network::~network() noexcept = default;
network_request network::request(net::request_builder& rb) {
return request(std::move(rb));
}
network_request network::request(net::request_builder&& rb) {
if ( rb.callback() ) {
throw bad_network_operation();
}
stdex::promise<net::response> promise;
rb.callback([promise](net::request request) mutable {
if ( request.is_done() ) {
promise.resolve(request.take());
return;
}
if ( request.status() == net::req_status::cancelled ) {
promise.reject(request_cancelled_exception());
return;
}
try {
promise.reject(request_network_error(request.get_error()));
} catch (...) {
promise.reject(request_network_error());
}
});
return {rb.send(), std::move(promise)};
}
}

View File

@@ -1,43 +0,0 @@
/*******************************************************************************
* This file is part of the "Enduro2D"
* For conditions of distribution and use, see copyright notice in LICENSE.md
* Copyright (C) 2018-2020, by Matvey Cherevko (blackmatov@gmail.com)
******************************************************************************/
#include "_core.hpp"
using namespace e2d;
TEST_CASE("network"){
network n;
SECTION("request"){
{
auto nreq = n.request(net::request_builder()
.url("http://httpbin.org/status/201"));
nreq.promise.then([](const net::response& response){
REQUIRE(response.http_code() == 201u);
}).except([](std::exception_ptr){
REQUIRE(false);
}).wait();
}
{
auto nreq = n.request(net::request_builder()
.url("http://httpbin.org/delay/2"));
REQUIRE(nreq.request.cancel());
nreq.promise.then([](const net::response&){
REQUIRE(false);
}).except([](std::exception_ptr e){
try {
std::rethrow_exception(e);
} catch (const request_cancelled_exception&) {
REQUIRE(true);
} catch (...) {
REQUIRE(false);
}
}).wait();
}
}
}