MCPcopy Create free account
hub / github.com/defold/defold / Init

Method Init

engine/engine/src/engine_service.cpp:253–402  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

251 }
252
253 bool Init(uint16_t port)
254 {
255 dmSys::SystemInfo info;
256 dmSys::GetSystemInfo(&info);
257 char host_name[128] = {0};
258 dmSocket::GetHostname(host_name, sizeof(host_name));
259
260 dmSocket::Address local_address;
261 dmSocket::Result sockr = dmSocket::GetLocalAddress(&local_address);
262 if (sockr != dmSocket::RESULT_OK)
263 {
264 return false;
265 }
266
267 m_Name[0] = 0;
268
269 /*
270 * NOTE: On Android localhost is returned for dmSocket::GetHostname.
271 * Therefore we use MANUFACTURER-DEVICEMODEL instead for display-name
272 *
273 */
274 if (strcmp(info.m_SystemName, "Android") == 0) {
275 BuildManufacturerModelName(info.m_Manufacturer, info.m_DeviceModel, m_Name, sizeof(m_Name));
276 } else {
277 dmStrlCpy(m_Name, host_name, sizeof(m_Name));
278 }
279
280 char* local_address_str = dmSocket::AddressToIPString(local_address);
281 const char* addr = local_address_str ? local_address_str : "";
282 if (addr[0] && strstr(m_Name, addr) == 0)
283 {
284 dmStrlCat(m_Name, " - ", sizeof(m_Name));
285 dmStrlCat(m_Name, addr, sizeof(m_Name));
286 }
287
288 dmStrlCat(m_Name, " - ", sizeof(m_Name));
289 dmStrlCat(m_Name, info.m_SystemName, sizeof(m_Name));
290
291 dmWebServer::NewParams params;
292 params.m_Port = port;
293 dmWebServer::HServer web_server;
294 dmWebServer::Result r = dmWebServer::New(&params, &web_server);
295 if (r != dmWebServer::RESULT_OK)
296 {
297 dmLogError("Unable to create engine web-server (%d)", r);
298 free(local_address_str);
299 return false;
300 }
301
302 dmSocket::Address address;
303 dmWebServer::GetName(web_server, &address, &m_Port);
304 dmSnPrintf(m_PortText, sizeof(m_PortText), "%d", (int) m_Port);
305 dmSnPrintf(m_LogPortText, sizeof(m_LogPortText), "%d", (int) dmLog::GetPort());
306
307 // The redirect server
308 params.m_Port = 8002;
309 dmWebServer::HServer web_server_redirect = 0;
310 r = dmWebServer::New(&params, &web_server_redirect);

Callers 1

NewFunction · 0.45

Calls 15

dmStrlCpyFunction · 0.85
dmStrlCatFunction · 0.85
freeFunction · 0.85
dmSnPrintfFunction · 0.85
BuildDiscoveryIdentityFunction · 0.85
BuildServiceInstanceNameFunction · 0.85
DiscoveryServiceNewFunction · 0.85
AddHandlerFunction · 0.85
NewFunction · 0.70
GetPortFunction · 0.70
GetSystemInfoFunction · 0.50

Tested by

no test coverage detected