123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #pragma once
- #include <string>
- using namespace std::string_literals;
- #include "String.DString.hpp"
- using namespace eSTR::Literals;
- #ifndef _AnyServer_EXPORTS
- #define _AnyServer_API _declspec(dllimport)
- #else
- #define _AnyServer_API _declspec(dllexport)
- #endif
- #ifndef _AnyServer_EXPORTS
- #ifdef _WIN64
- #ifdef _DEBUG
- #pragma comment (lib, "ECOM.Utility.AnyServer64D.lib")
- #else
- #pragma comment (lib, "ECOM.Utility.AnyServer64.lib")
- #endif
- #else // X86
- #ifdef _DEBUG
- #pragma comment (lib, "ECOM.Utility.AnyServerD.lib")
- #else
- #pragma comment (lib, "ECOM.Utility.AnyServer.lib")
- #endif
- #endif
- #endif // _AnyServer_EXPORTS
- namespace ECOM::Utility
- {
- //-----------------------------------------------------------------------------
- // AnyServer
- // 所有 Server 的基本类
- // 一般来说, Name 仅用于日志,追踪等
- //-----------------------------------------------------------------------------
- class _AnyServer_API AnyServer
- {
- public:
- AnyServer (CV_String Name) : m_Name {Name} { }
- AnyServer (const eSTR::DString Name) : m_Name {Name} { }
- virtual ~AnyServer () = default;
- public:
- virtual bool Prepare () = 0;
- virtual void Quit () = 0;
- virtual bool Start () = 0;
- virtual void Stop () = 0;
- const eSTR::DString & GetServerName () const { return m_Name; }
- protected:
- eSTR::DString m_Name;
- };
- }
|