CFNetwork pretraživanje proxyja je C API koji se može koristiti izravno iz C++; pretvaranje svega u Objective-C objekte nije obavezno. Pozovite CFNetworkCopyProxiesForURL s ciljnim CFURL-om i postavkama iz CFNetworkCopySystemProxySettings da biste dobili uređene rječnike proxyja.

VrijednostVlasništvo
Objekti koje Copy stvara ili vraća, uključujući rute i postavkeVlasništvo pozivatelja; oslobodite svaki posjedovani objekt koji nije null
Rječnik iz polja ili ime hosta iz rječnika preko GetPosuđeno; ne oslobađajte bez prethodnog zadržavanja

Za valjane routes i indeks unutar raspona, izdvajanje može biti:

CFDictionaryRef proxy = static_cast<CFDictionaryRef>(
    CFArrayGetValueAtIndex(routes, index));
CFStringRef hostname = static_cast<CFStringRef>(
    CFDictionaryGetValue(proxy, kCFProxyHostNameKey));

Pročitajte kCFProxyTypeKey prije nego unos tretirate kao krajnju točku. Izravni kandidati i kandidati automatske konfiguracije zahtijevaju različito rukovanje.

Pretvorite CFString ime hosta i CFNumber port konkretnog unosa dok je vlasnik živ. Izdvojene C++ vrijednosti tada mogu ući u konfiguraciju prijenosa. Da biste zadržali sam CFString nakon rezultata, prvo ga zadržite i kasnije to uravnotežite s CFRelease; inače završite prije oslobađanja vlasnika koji ga sadrži.

Pri čišćenju oslobodite stvoreni/kopirani ciljni URL, rječnik postavki i polje rezultata, uz čuvar opsega ako je prikladno. Sam tip CFStringRef varijable ne daje vlasništvo nad Get rezultatom.

Povezani članci