From 70e4c443a251ec22af1be2e3ada734cd8b7262f0 Mon Sep 17 00:00:00 2001 From: hevake_lcj Date: Tue, 19 Jul 2022 18:28:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=9A=E4=BA=86=E4=BA=9B=E5=B0=8F=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=8C=E5=88=A0=E9=99=A4=E4=BA=86apps/=E4=B8=8B?= =?UTF-8?q?=E7=9A=84=E8=BF=9E=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/Makefile | 13 ++++++++----- apps/base | 1 - apps/coroutine | 1 - apps/event | 1 - apps/eventx | 1 - apps/log | 1 - apps/main | 1 - apps/network | 1 - apps/sample | 1 - apps/sample/Makefile | 31 ++++++++++++++++++++++++++++++ apps/sample/README.md | 2 ++ apps/sample/app1/app.cpp | 39 ++++++++++++++++++++++++++++++++++++++ apps/sample/app1/app.h | 23 ++++++++++++++++++++++ apps/sample/app1/app.mk | 7 +++++++ apps/sample/app2/app.cpp | 39 ++++++++++++++++++++++++++++++++++++++ apps/sample/app2/app.h | 23 ++++++++++++++++++++++ apps/sample/app2/app.mk | 7 +++++++ apps/sample/app_main.cpp | 29 ++++++++++++++++++++++++++++ apps/sample/build_time.cpp | 12 ++++++++++++ apps/sample/default.conf | 14 ++++++++++++++ apps/terminal | 1 - apps/tools | 1 - apps/util | 1 - 23 files changed, 234 insertions(+), 16 deletions(-) delete mode 120000 apps/base delete mode 120000 apps/coroutine delete mode 120000 apps/event delete mode 120000 apps/eventx delete mode 120000 apps/log delete mode 120000 apps/main delete mode 120000 apps/network delete mode 120000 apps/sample create mode 100644 apps/sample/Makefile create mode 100644 apps/sample/README.md create mode 100644 apps/sample/app1/app.cpp create mode 100644 apps/sample/app1/app.h create mode 100644 apps/sample/app1/app.mk create mode 100644 apps/sample/app2/app.cpp create mode 100644 apps/sample/app2/app.h create mode 100644 apps/sample/app2/app.mk create mode 100644 apps/sample/app_main.cpp create mode 100644 apps/sample/build_time.cpp create mode 100644 apps/sample/default.conf delete mode 120000 apps/terminal delete mode 120000 apps/tools delete mode 120000 apps/util diff --git a/apps/Makefile b/apps/Makefile index d27ce67..57f49dc 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -1,8 +1,11 @@ -apps += base event eventx util -apps += network -apps += terminal -apps += log -apps += main +apps += cpp_tbox/base +apps += cpp_tbox/event +apps += cpp_tbox/eventx +apps += cpp_tbox/util +apps += cpp_tbox/network +apps += cpp_tbox/terminal +apps += cpp_tbox/log +apps += cpp_tbox/main apps += sample all test clean distclean: diff --git a/apps/base b/apps/base deleted file mode 120000 index cc11ec6..0000000 --- a/apps/base +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/base \ No newline at end of file diff --git a/apps/coroutine b/apps/coroutine deleted file mode 120000 index 7c8d184..0000000 --- a/apps/coroutine +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/coroutine \ No newline at end of file diff --git a/apps/event b/apps/event deleted file mode 120000 index 5329547..0000000 --- a/apps/event +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/event \ No newline at end of file diff --git a/apps/eventx b/apps/eventx deleted file mode 120000 index 30c23f3..0000000 --- a/apps/eventx +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/eventx \ No newline at end of file diff --git a/apps/log b/apps/log deleted file mode 120000 index 27e89ff..0000000 --- a/apps/log +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/log/ \ No newline at end of file diff --git a/apps/main b/apps/main deleted file mode 120000 index 8e06be6..0000000 --- a/apps/main +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/main \ No newline at end of file diff --git a/apps/network b/apps/network deleted file mode 120000 index 3827d30..0000000 --- a/apps/network +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/network \ No newline at end of file diff --git a/apps/sample b/apps/sample deleted file mode 120000 index c17dd4b..0000000 --- a/apps/sample +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/sample/ \ No newline at end of file diff --git a/apps/sample/Makefile b/apps/sample/Makefile new file mode 100644 index 0000000..6807b64 --- /dev/null +++ b/apps/sample/Makefile @@ -0,0 +1,31 @@ +EXE_NAME := sample + +CPP_SRC_FILES := app_main.cpp build_time.cpp +TEST_CPP_SRC_FILES := +TEST_LDFLAGS := + +CONF_FILES := default.conf + +include app1/app.mk +include app2/app.mk + +CXXFLAGS := -DLOG_MODULE_ID='"$(EXE_NAME)"' $(CXXFLAGS) +LDFLAGS += \ + -ltbox_main \ + -ltbox_terminal \ + -ltbox_network \ + -ltbox_eventx \ + -ltbox_eventx \ + -ltbox_event \ + -ltbox_log \ + -ltbox_util \ + -ltbox_base \ + -lpthread \ + -rdynamic + +TEST_LDFLAGS += $(LDFLAGS) + +pre_build : + touch build_time.cpp + +include ../cpp_tbox/tools/exe_common.mk diff --git a/apps/sample/README.md b/apps/sample/README.md new file mode 100644 index 0000000..9b9e290 --- /dev/null +++ b/apps/sample/README.md @@ -0,0 +1,2 @@ +这是一个单进程,多应用的示例。它有两个应用。 +两个应用虽运行在同一个进程里,但两者的代码分别在各自的子目录下,独立逻辑,不相干扰。 diff --git a/apps/sample/app1/app.cpp b/apps/sample/app1/app.cpp new file mode 100644 index 0000000..58531ab --- /dev/null +++ b/apps/sample/app1/app.cpp @@ -0,0 +1,39 @@ +#include "app.h" +#include + +namespace app1 { + +App::App(tbox::main::Context &ctx) : + Module("app1", ctx) +{ + LogTag(); +} + +App::~App() +{ + LogTag(); +} + +bool App::onInit(const tbox::Json &cfg) +{ + LogTag(); + return true; +} + +bool App::onStart() +{ + LogTag(); + return true; +} + +void App::onStop() +{ + LogTag(); +} + +void App::onCleanup() +{ + LogTag(); +} + +} diff --git a/apps/sample/app1/app.h b/apps/sample/app1/app.h new file mode 100644 index 0000000..b52f1fc --- /dev/null +++ b/apps/sample/app1/app.h @@ -0,0 +1,23 @@ +#ifndef TBOX_MAIN_EXAMPLE_APP1_H_20211226 +#define TBOX_MAIN_EXAMPLE_APP1_H_20211226 + +#include + +namespace app1 { + +class App : public tbox::main::Module +{ + public: + App(tbox::main::Context &ctx); + ~App(); + + protected: + virtual bool onInit(const tbox::Json &cfg) override; + virtual bool onStart() override; + virtual void onStop() override; + virtual void onCleanup() override; +}; + +} + +#endif //TBOX_MAIN_EXAMPLE_APP1_H_20211226 diff --git a/apps/sample/app1/app.mk b/apps/sample/app1/app.mk new file mode 100644 index 0000000..5b296fc --- /dev/null +++ b/apps/sample/app1/app.mk @@ -0,0 +1,7 @@ +CPP_SRC_FILES += app1/app.cpp +CC_SRC_FILES += +C_SRC_FILES += +LDFLAGS += + +TEST_CPP_SRC_FILES += +TEST_LDFLAGS += diff --git a/apps/sample/app2/app.cpp b/apps/sample/app2/app.cpp new file mode 100644 index 0000000..f7317c0 --- /dev/null +++ b/apps/sample/app2/app.cpp @@ -0,0 +1,39 @@ +#include "app.h" +#include + +namespace app2 { + +App::App(tbox::main::Context &ctx) : + Module("app2", ctx) +{ + LogTag(); +} + +App::~App() +{ + LogTag(); +} + +bool App::onInit(const tbox::Json &cfg) +{ + LogTag(); + return true; +} + +bool App::onStart() +{ + LogTag(); + return true; +} + +void App::onStop() +{ + LogTag(); +} + +void App::onCleanup() +{ + LogTag(); +} + +} diff --git a/apps/sample/app2/app.h b/apps/sample/app2/app.h new file mode 100644 index 0000000..1889d03 --- /dev/null +++ b/apps/sample/app2/app.h @@ -0,0 +1,23 @@ +#ifndef TBOX_MAIN_EXAMPLE_APP2_H_20211226 +#define TBOX_MAIN_EXAMPLE_APP2_H_20211226 + +#include + +namespace app2 { + +class App : public tbox::main::Module +{ + public: + App(tbox::main::Context &ctx); + ~App(); + + protected: + virtual bool onInit(const tbox::Json &cfg) override; + virtual bool onStart() override; + virtual void onStop() override; + virtual void onCleanup() override; +}; + +} + +#endif //TBOX_MAIN_EXAMPLE_APP2_H_20211226 diff --git a/apps/sample/app2/app.mk b/apps/sample/app2/app.mk new file mode 100644 index 0000000..6766a66 --- /dev/null +++ b/apps/sample/app2/app.mk @@ -0,0 +1,7 @@ +CPP_SRC_FILES += app2/app.cpp +CC_SRC_FILES += +C_SRC_FILES += +LDFLAGS += + +TEST_CPP_SRC_FILES += +TEST_LDFLAGS += diff --git a/apps/sample/app_main.cpp b/apps/sample/app_main.cpp new file mode 100644 index 0000000..4522160 --- /dev/null +++ b/apps/sample/app_main.cpp @@ -0,0 +1,29 @@ +#include + +#include "app1/app.h" +#include "app2/app.h" + +namespace tbox { +namespace main { + +void RegisterApps(Module &apps, Context &ctx) +{ + apps.add(new app1::App(ctx)); + apps.add(new app2::App(ctx)); +} + +std::string GetAppDescribe() +{ + return "This is a sample within two apps."; +} + +void GetAppVersion(int &major, int &minor, int &rev, int &build) +{ + major = 1; + minor = 0; + rev = 0; + build = 0; +} + +} +} diff --git a/apps/sample/build_time.cpp b/apps/sample/build_time.cpp new file mode 100644 index 0000000..f57a10f --- /dev/null +++ b/apps/sample/build_time.cpp @@ -0,0 +1,12 @@ +#include + +namespace tbox { +namespace main { + +std::string GetAppBuildTime() +{ + return __DATE__ " " __TIME__; +} + +} +} diff --git a/apps/sample/default.conf b/apps/sample/default.conf new file mode 100644 index 0000000..401584f --- /dev/null +++ b/apps/sample/default.conf @@ -0,0 +1,14 @@ +{ + "pid_file": "/tmp/sample.pid", + "thread_pool": { + "max": 5, + "min": 1 + }, + "telnetd": { + "bind": "/tmp/sample-telnetd.sock" + }, + "tcp_rpc": { + "bind": "/tmp/sample-rpc.sock" + } +} + diff --git a/apps/terminal b/apps/terminal deleted file mode 120000 index 6abdb88..0000000 --- a/apps/terminal +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/terminal \ No newline at end of file diff --git a/apps/tools b/apps/tools deleted file mode 120000 index 4a0aff4..0000000 --- a/apps/tools +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/tools \ No newline at end of file diff --git a/apps/util b/apps/util deleted file mode 120000 index f878e79..0000000 --- a/apps/util +++ /dev/null @@ -1 +0,0 @@ -cpp_tbox/util \ No newline at end of file -- Gitee