Proxyoppslaget i CFNetwork er en C-API som kan brukes direkte fra C++; å konvertere alt til Objective-C-objekter er valgfritt. Kall CFNetworkCopyProxiesForURL med mål-CFURL-en og innstillinger fra CFNetworkCopySystemProxySettings for å få ordnede proxyordbøker.

VerdiEierskap
Objekter som Copy oppretter eller returnerer, inkludert ruter og innstillingerEid av kalleren; frigjør hvert eid objekt som ikke er null
Ordbok fra matrisen eller vertsnavn fra ordboken via GetLånt; ikke frigjør uten å ha beholdt det

For gyldige routes og en indeks innenfor området kan uttrekket være:

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

Les kCFProxyTypeKey før du behandler oppføringen som et endepunkt. Direkte og automatisk konfigurerte kandidater krever ulik behandling.

Konverter CFString-vertsnavnet og CFNumber-porten til en konkret oppføring mens eieren er i live. Uttrukne C++-verdier kan deretter gå inn i konfigurasjonen til transporten. For å beholde selve CFString utover resultatet, behold det først og balanser det senere med CFRelease; ellers avslutt før du frigjør eieren som inneholder det.

Frigjør den opprettede/kopierte mål-URL-en, innstillingsordboken og resultatmatrisen ved opprydding, og bruk en scope guard der det passer. En variabels CFStringRef-type alene gir ikke eierskap over et Get-resultat.

Relaterte artikler