Browse Source

update

master
zhaohe 3 years ago
parent
commit
41776695e9
  1. 5
      .gitmodules
  2. 4
      .vscode/settings.json
  3. 6
      CMakeLists.txt
  4. 2
      dep/iflytopcpp
  5. 1
      dep/zclipp
  6. 2
      dep/zwebservice
  7. 98
      src/main.cpp
  8. 4
      src/service/device_io_service.cpp
  9. 45
      src/service/device_io_service.hpp
  10. 5
      src/service/main_control_service.cpp
  11. 45
      src/service/main_control_service.hpp
  12. 2
      src/version.hpp

5
.gitmodules

@ -15,4 +15,7 @@
url = http://47.92.195.73/zlinux_demo_projects/websocketpp.git url = http://47.92.195.73/zlinux_demo_projects/websocketpp.git
[submodule "dep/asio1.12.2"] [submodule "dep/asio1.12.2"]
path = dep/asio1.12.2 path = dep/asio1.12.2
url = http://47.92.195.73/zlinux_demo_projects/asio1.12.2.git
url = http://47.92.195.73/zlinux_demo_projects/asio1.12.2.git
[submodule "dep/zclipp"]
path = dep/zclipp
url = zwsd@192.168.1.3:zlinux_demo_projects/zclipp.git

4
.vscode/settings.json

@ -99,6 +99,8 @@
"__tuple": "cpp", "__tuple": "cpp",
"hash_map": "cpp", "hash_map": "cpp",
"__bit_reference": "cpp", "__bit_reference": "cpp",
"*.ipp": "cpp"
"*.ipp": "cpp",
"__functional_03": "cpp",
"__node_handle": "cpp"
} }
} }

6
CMakeLists.txt

@ -44,9 +44,13 @@ zadd_executable(
pthread pthread
INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES
${DEP_INCLUDE} ${DEP_INCLUDE}
./src
DEFINES DEFINES
${DEP_DEFINE} ${DEP_DEFINE}
SRC SRC
${DEP_SRC} ${DEP_SRC}
src/main.cpp)
src/main.cpp
src/service/device_io_service.cpp
src/service/main_control_service.cpp
)

2
dep/iflytopcpp

@ -1 +1 @@
Subproject commit f0124f4fa73a7ee29bddd8275f69cbef1fdedaa9
Subproject commit 2d2ac28f73d5a14aba4501831c1c52468b726a10

1
dep/zclipp

@ -0,0 +1 @@
Subproject commit 2c32b2f1f7cc530b1ec1f62c92f698643bb368db

2
dep/zwebservice

@ -1 +1 @@
Subproject commit f4468c3342826fbe6fb693bfc2eb4b1fba12810c
Subproject commit 2062c64d58a9eed6d22c6b48e6b8b2902f16cc9d

98
src/main.cpp

@ -1,29 +1,77 @@
#include "spdlog/spdlog.h"
#include "configs/config.hpp" #include "configs/config.hpp"
#include "iflytopcpp/core/spdlogfactory/logger.hpp"
#include "iflytopcpp/core/thread/thread.hpp"
#include "spdlog/spdlog.h"
#include "version.hpp"
#include "zclipp/include/clipp.h"
#include "zservice_container/zservice_container.hpp"
#include "zwebservice/zwebservice.hpp"
//
#include "service/device_io_service.hpp"
#include "service/main_control_service.hpp"
using namespace iflytop; using namespace iflytop;
using namespace core; using namespace core;
using namespace std; using namespace std;
int main()
{
shared_ptr<Config> config;
spdlog::info("Welcome to spdlog!");
spdlog::error("Some error message with arg: {}", 1);
spdlog::warn("Easy padding in numbers like {:08d}", 12);
spdlog::critical("Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
spdlog::info("Support for floats {:03.2f}", 1.23456);
spdlog::info("Positional args are {1} {0}..", "too", "supported");
spdlog::info("{:<30}", "left aligned");
spdlog::set_level(spdlog::level::debug); // Set global log level to debug
spdlog::debug("This message should be displayed..");
// change log pattern
spdlog::set_pattern("[%H:%M:%S %z] [%n] [%^---%L---%$] [thread %t] %v");
// Compile time log levels
// define SPDLOG_ACTIVE_LEVEL to desired level
SPDLOG_TRACE("Some trace message with param {}", 42);
SPDLOG_DEBUG("Some debug message");
}
using namespace clipp;
class Main {
ENABLE_LOGGER(Main);
private:
unique_ptr<Thread> thread;
private:
void main(int argc, char *argv[]);
public:
Main(/* args */) {}
~Main() {}
void run(int argc, char *argv[]) {
thread.reset(new Thread("main", [&]() { main(argc, argv); }));
while (true) sleep(1000);
}
};
int main(int argc, char *argv[]) {
Main main;
main.run(argc, argv);
}
#define BUILD_AND_REG_SERRVICE(type, ...) \
logger->info("build {}.....", #type); \
shared_ptr<type> type##_val(new type(__VA_ARGS__)); \
ServiceContrainer::get().regService(type##_val);
/***********************************************************************************************************************
* =======================================================Main======================================================== *
***********************************************************************************************************************/
void Main::main(int argc, char *argv[]) {
string g_host_server_ip;
string g_device_id;
auto cli = ( //
(required("-device_id") & value("device_id", g_device_id)).doc("device_id") //
);
if (!parse(argc, argv, cli)) {
cout << make_man_page(cli, argv[0]);
return;
}
logger->info("#");
logger->info("# company:{}", "ifytop");
logger->info("# version:{}", VERSION);
logger->info("#");
BUILD_AND_REG_SERRVICE(Config);
GET_SERVICE(Config)->initialize();
if (!g_device_id.empty()) GET_SERVICE(Config)->set_deviceId(g_device_id);
BUILD_AND_REG_SERRVICE(DeviceIOService);
GET_SERVICE(DeviceIOService)->initialize();
BUILD_AND_REG_SERRVICE(ZWebService);
GET_SERVICE(ZWebService)->initialize();
BUILD_AND_REG_SERRVICE(MainControlService);
GET_SERVICE(MainControlService)->initialize();
logger->info("system setup end.");
}

4
src/service/device_io_service.cpp

@ -0,0 +1,4 @@
#include "device_io_service.hpp"
using namespace iflytop;
using namespace core;
using namespace std;

45
src/service/device_io_service.hpp

@ -0,0 +1,45 @@
//
// Created by zwsd
//
#pragma once
#include <fstream>
#include <iostream>
#include <list>
#include <map>
#include <memory>
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include "configs/config.hpp"
#include "iflytopcpp/core/spdlogfactory/logger.hpp"
//
#include "configs/config.hpp"
#include "zservice_container/zservice_container.hpp"
/**
* @brief
*
* service: DeviceIOService
*
* :
* :
* :
* :
*
*/
namespace iflytop {
using namespace std;
using namespace core;
class DeviceIOService : public enable_shared_from_this<DeviceIOService> {
ENABLE_LOGGER(DeviceIOService);
public:
DeviceIOService(){};
void initialize(){};
};
} // namespace iflytop

5
src/service/main_control_service.cpp

@ -0,0 +1,5 @@
#include "main_control_service.hpp"
using namespace iflytop;
using namespace core;
using namespace std;

45
src/service/main_control_service.hpp

@ -0,0 +1,45 @@
//
// Created by zwsd
//
#pragma once
#include <fstream>
#include <iostream>
#include <list>
#include <map>
#include <memory>
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include "configs/config.hpp"
#include "iflytopcpp/core/spdlogfactory/logger.hpp"
//
#include "configs/config.hpp"
#include "zservice_container/zservice_container.hpp"
/**
* @brief
*
* service: MainControlService
*
* :
* :
* :
* :
*
*/
namespace iflytop {
using namespace std;
using namespace core;
class MainControlService : public enable_shared_from_this<MainControlService> {
ENABLE_LOGGER(MainControlService);
public:
MainControlService(){};
void initialize(){};
};
} // namespace iflytop

2
src/version.hpp

@ -0,0 +1,2 @@
#pragma once
#define VERSION "0.1"
Loading…
Cancel
Save