Lesa CFNetwork proxy niðurstöður beint í C++
Notið C proxy-uppflettingarforritaskil Apple úr C++ og haldið lánuðum orðabókgildum lifandi án þess að losa þau sem eigin hluti.
Proxy-uppfletting CFNetwork er C-forritaskil sem hægt er að nota beint úr C++; að breyta öllu í Objective-C hluti er valfrjálst. Kallið CFNetworkCopyProxiesForURL með mark-CFURL og stillingum úr CFNetworkCopySystemProxySettings til að fá raðaðar proxy-orðabækur.
| Gildi | Eignarhald |
|---|---|
| Hlutir sem Copy býr til eða skilar, þar á meðal leiðir og stillingar | Í eigu kallandans; losið hvern eigin hlut sem er ekki null |
| Orðabók úr fylkinu eða hýsilnafn úr orðabókinni gegnum Get | Lánað; losið ekki án þess að hafa haldið því |
Fyrir gild routes og vísitölu innan sviðs getur útdrátturinn verið:
CFDictionaryRef proxy = static_cast<CFDictionaryRef>(
CFArrayGetValueAtIndex(routes, index));
CFStringRef hostname = static_cast<CFStringRef>(
CFDictionaryGetValue(proxy, kCFProxyHostNameKey));
Lesið kCFProxyTypeKey áður en færslan er meðhöndluð sem endapunktur. Beinir og sjálfvirkir stillingarvalkostir krefjast mismunandi meðferðar.
Breyið CFString hýsilnafn og CFNumber gátt einnar færslu á meðan eigandinn er lifandi. Útdregin C++ gildi geta þá farið inn í stillingar flutningsins. Til að halda CFString sjálfu eftir niðurstöðuna skal fyrst halda því og jafna það síðan með CFRelease; að öðrum kosti ljúkið áður en eigandinn sem geymir það er losaður.
Losið búið/afritað mark-URL, stillingaorðabókina og niðurstöðufylkið við hreinsun, og notið umfangsvörð ef við á. Einungis CFStringRef-gerð breytu veitir ekki eignarhald á Get-niðurstöðu.