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

Function NewBrowser

engine/dlib/src/dlib/mdns.cpp:2476–2505  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2474 }
2475
2476 Result NewBrowser(const BrowserParams* params, HBrowser* browser)
2477 {
2478 if (browser == 0 || params == 0 || params->m_ServiceType == 0)
2479 return RESULT_INVALID_ARGS;
2480
2481 *browser = 0;
2482
2483 Browser* instance = new Browser();
2484 if (instance == 0)
2485 return RESULT_OUT_OF_RESOURCES;
2486
2487 dmStrlCpy(instance->m_ServiceType, params->m_ServiceType, sizeof(instance->m_ServiceType));
2488 BuildLocalName(params->m_ServiceType, instance->m_ServiceTypeLocal, sizeof(instance->m_ServiceTypeLocal));
2489 instance->m_Callback = params->m_Callback;
2490 instance->m_Context = params->m_Context;
2491
2492 RefreshBrowserInterfaceAddresses(instance);
2493 instance->m_Socket = CreateSocket();
2494 if (instance->m_Socket == dmSocket::INVALID_SOCKET_HANDLE)
2495 {
2496 delete instance;
2497 return RESULT_NETWORK_ERROR;
2498 }
2499
2500 EnsureMemberships(instance->m_Socket, instance->m_InterfaceAddresses, &instance->m_MembershipAddresses);
2501 ResetBrowserQueryBackoff(instance, 0);
2502 instance->m_NextInterfaceRefresh = 0;
2503 *browser = instance;
2504 return RESULT_OK;
2505 }
2506
2507 void UpdateBrowser(HBrowser browser)
2508 {

Callers 1

TESTFunction · 0.85

Calls 6

dmStrlCpyFunction · 0.85
CreateSocketFunction · 0.85
EnsureMembershipsFunction · 0.85
ResetBrowserQueryBackoffFunction · 0.85
BuildLocalNameFunction · 0.70

Tested by 1

TESTFunction · 0.68