CFNetwork-proxyresultaten direkt yn C++ lêze
Brûk Apple's C-proxy-opspoar-API's út C++ en hâld liende wurdboekwearden libben sûnder se as eigen objekten frij te jaan.
De proxy-opspoarring fan CFNetwork is in C-API dy't direkt út C++ brûkt wurde kin; alles nei Objective-C-objekten omsette is opsjoneel. Roep CFNetworkCopyProxiesForURL oan mei de doel-CFURL en ynstellingen út CFNetworkCopySystemProxySettings om oardere proxywurdboeken te krijen.
| Wearde | Eigendom |
|---|---|
| Objekten makke of weromjûn troch Copy, ynklusyf rûtes en ynstellingen | Eigendom fan de oanropper; meitsje elk net-nul eigen objekt frij |
| Wurdboek út 'e array of hostnamme út it wurdboek fia Get | Liend; meitsje it net frij sûnder it earst te hâlden |
Foar jildige routes en in yndeks binnen berik kin de útlêzing sa wêze:
CFDictionaryRef proxy = static_cast<CFDictionaryRef>(
CFArrayGetValueAtIndex(routes, index));
CFStringRef hostname = static_cast<CFStringRef>(
CFDictionaryGetValue(proxy, kCFProxyHostNameKey));
Lês kCFProxyTypeKey foardat jo de ynfier as einpunt behannelje. Direkte en automatyske-konfiguraasje-kandidaten freegje oare behanneling.
Konvertearje de CFString-hostnamme en CFNumber-poarte fan in konkreet ynfier wylst de eigener libben bliuwt. De útlêzen C++-wearden kinne dan yn 'e konfiguraasje fan 'e ferfierder komme. Om de CFString sels boppe it resultaat te hâlden, hâld it earst en balansearje dat letter mei CFRelease; oars moat jo klear wêze foardat jo de eigener dy't it befettet frijmeitsje.
Meitsje by it opromjen de makke/kopiearre doel-URL, it ynstellingswurdboek en de resultaat-array frij, en brûk in berikbewaker wêr't dat past. Allinnich it CFStringRef-type fan in fariabele jout gjin eigendom oer in Get-resultaat.