Proxyoppslaget i CFNetwork er ein C-API som kan brukast direkte frå C++; å konvertere alt til Objective-C-objekt er valfritt. Kall CFNetworkCopyProxiesForURL med mål-CFURL-en og innstillingar frå CFNetworkCopySystemProxySettings for å få ordna proxyordbøker.

VerdiEigarskap
Objekt som Copy lagar eller returnerer, inkludert ruter og innstillingarEigde av kallaren; frigje kvart eigd objekt som ikkje er null
Ordbok frå matrisa eller vertsnamn frå ordboka via GetLånt; ikkje frigje utan å ha halde på det

For gyldige routes og ein indeks innanfor området kan utdraget vere:

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

Les kCFProxyTypeKey før du handsamar oppføringa som eit endepunkt. Direkte og automatisk konfigurerte kandidatar krev ulik handsaming.

Konverter CFString-vertsnamnet og CFNumber-porten til ei konkret oppføring medan eigaren er i live. Utdregne C++-verdiar kan deretter gå inn i konfigurasjonen til transporten. For å halde sjølve CFString utover resultatet, hald på det først og balanser det seinare med CFRelease; elles avslutt før du frigjer eigaren som inneheld det.

Frigjer den oppretta/kopierte mål-URL-en, innstillingordboka og resultatmatrisa ved opprydding, og bruk ein scope guard der det høver. Ein variabels CFStringRef-type åleine gjev ikkje eigarskap over eit Get-resultat.

Relaterte artiklar