Samchon Framework for CPP  1.0.0
ExternalServer.hpp
1 #pragma once
2 #include <samchon/API.hpp>
3 
4 #include <samchon/protocol/ExternalSystem.hpp>
5 #include <samchon/protocol/ServerConnector.hpp>
6 
7 namespace samchon
8 {
9 namespace protocol
10 {
20  class SAMCHON_FRAMEWORK_API ExternalServer
21  : public virtual ExternalSystem,
22  public virtual ServerConnector
23  {
24  private:
25  typedef ExternalSystem super;
26 
27  protected:
31  std::string myIP;
32 
33  public:
34  /* ------------------------------------------------------------------
35  CONSTRUCTORS
36  ------------------------------------------------------------------ */
41  virtual ~ExternalServer() = default;
42 
43  virtual void construct(std::shared_ptr<library::XML>) override;
44 
45  virtual void start() override;
46 
47  /* ------------------------------------------------------------------
48  GETTERS
49  ------------------------------------------------------------------ */
50  virtual auto getIP() const->std::string override;
51  virtual auto getPort() const -> int override;
52  virtual auto getMyIP() const->std::string override;
53 
54  /* ------------------------------------------------------------------
55  EXPORTERS
56  ------------------------------------------------------------------ */
57  virtual auto toXML() const->std::shared_ptr<library::XML> override;
58  };
59 };
60 };
A network driver for an external server.
Definition: RWMutex.hpp:4
A network driver for an external system.
std::string myIP
A custom ip address of my system to bind.
Top level namespace of products built from samchon.
Definition: ByteArray.hpp:7
A server connector for a physical client.