OpenTera WebRTC API (C++) 1.2.5
SignalingServerConfiguration.h
1 #ifndef OPENTERA_WEBRTC_NATIVE_CLIENT_CONFIGURATIONS_SIGNALING_SERVER_CONFIGURATION_H
2 #define OPENTERA_WEBRTC_NATIVE_CLIENT_CONFIGURATIONS_SIGNALING_SERVER_CONFIGURATION_H
3 
4 #include <nlohmann/json.hpp>
5 
6 #include <string>
7 
8 namespace opentera
9 {
14  {
15  std::string m_url;
16  std::string m_clientName;
17  nlohmann::json m_clientData;
18  std::string m_room;
19  std::string m_password;
20 
22  std::string&& url,
23  std::string&& clientName,
24  nlohmann::json&& clientData,
25  std::string&& room,
26  std::string&& password);
27 
28  public:
31  virtual ~SignalingServerConfiguration() = default;
32 
33  static SignalingServerConfiguration create(std::string url, std::string clientName, std::string room);
35  createWithData(std::string url, std::string clientName, nlohmann::json clientData, std::string room);
37  create(std::string url, std::string clientName, std::string room, std::string password);
39  std::string url,
40  std::string clientName,
41  nlohmann::json clientData,
42  std::string room,
43  std::string password);
44 
45  [[nodiscard]] const std::string& url() const;
46  [[nodiscard]] const std::string& clientName() const;
47  [[nodiscard]] const nlohmann::json& clientData() const;
48  [[nodiscard]] const std::string& room() const;
49  [[nodiscard]] const std::string& password() const;
50 
51  SignalingServerConfiguration& operator=(const SignalingServerConfiguration& other) = default;
52  SignalingServerConfiguration& operator=(SignalingServerConfiguration&& other) = default;
53  };
54 
64  SignalingServerConfiguration::create(std::string url, std::string clientName, std::string room)
65  {
66  return {std::move(url), std::move(clientName), nlohmann::json{}, std::move(room), ""};
67  }
68 
79  std::string url,
80  std::string clientName,
81  nlohmann::json clientData,
82  std::string room)
83  {
84  return {std::move(url), std::move(clientName), std::move(clientData), std::move(room), ""};
85  }
86 
97  std::string url,
98  std::string clientName,
99  std::string room,
100  std::string password)
101  {
102  return {std::move(url), std::move(clientName), nlohmann::json{}, std::move(room), std::move(password)};
103  }
104 
116  std::string url,
117  std::string clientName,
118  nlohmann::json clientData,
119  std::string room,
120  std::string password)
121  {
122  return {std::move(url), std::move(clientName), std::move(clientData), std::move(room), std::move(password)};
123  }
124 
129  inline const std::string& SignalingServerConfiguration::url() const { return m_url; }
130 
135  inline const std::string& SignalingServerConfiguration::clientName() const { return m_clientName; }
136 
141  inline const nlohmann::json& SignalingServerConfiguration::clientData() const { return m_clientData; }
142 
147  inline const std::string& SignalingServerConfiguration::room() const { return m_room; }
148 
153  inline const std::string& SignalingServerConfiguration::password() const { return m_password; }
154 }
155 
156 #endif
Represents a signaling server configuration.
Definition: SignalingServerConfiguration.h:14
const nlohmann::json & clientData() const
Returns the client data.
Definition: SignalingServerConfiguration.h:141
const std::string & url() const
Returns the signaling server URL.
Definition: SignalingServerConfiguration.h:129
const std::string & clientName() const
Returns the client name.
Definition: SignalingServerConfiguration.h:135
static SignalingServerConfiguration create(std::string url, std::string clientName, std::string room)
Creates an signaling server configuration with the specified values.
Definition: SignalingServerConfiguration.h:64
const std::string & password() const
Returns the signaling server password.
Definition: SignalingServerConfiguration.h:153
const std::string & room() const
Returns the room name.
Definition: SignalingServerConfiguration.h:147
static SignalingServerConfiguration createWithData(std::string url, std::string clientName, nlohmann::json clientData, std::string room)
Creates an signaling server configuration with the specified values.
Definition: SignalingServerConfiguration.h:78