12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #pragma once
- #include "IBaseClash.h"
- #include <yaml-cpp/yaml.h>
- #include "CTool.h"
- #include "CProcess.h"
- #include "Logger.h"
-
- class CLashConfig : public IBaseClash
- {
- public:
- CLashConfig();
- ~CLashConfig(void);
- // ͨ¹ý IBaseClash ¼Ì³Ð
- virtual BOOL MakeClash() override;
- virtual BOOL InitClash() override;
- // ͨ¹ý IBaseClash ¼Ì³Ð
- virtual BOOL StartClash() override;
- virtual BOOL StopClash() override;
- private:
- YAML::Node buildShadowsocks();
- YAML::Node buildtrojan();
- YAML::Node buildv2ray();
- std::vector<YAML::Node> buildv2rayHost();
- YAML::Node builTunConfig();
- YAML::Node buildDnsConfig();
- std::vector<YAML::Node> buildProxyGroups();
- std::vector<YAML::Node> buildRules();
- std::vector<YAML::Node> buildruleproviders();
- private:
- void ThreadFun_process_Config(LPARAM lParam);
- void ThreadFun_ProcessMonitor_Config(LPARAM lParam);
- /*winrt::fire_and_forget _StartClash();
- winrt::Windows::Foundation::IAsyncAction ProcessMonitor();*/
- private:
- int m_socks_port;
- int m_http_port;
- int m_c_port;
- bool m_is_qut;
- CProcess* m_process;
- AsynTaskHandle<LPARAM> m_Asyntask;
- AsynTaskHandle<LPARAM> m_AsyntaskProcessMonitor;
- Logger* m_log;
- std::vector<std::string> m_rules;
- wil::unique_handle _hEvent;
- };
|