Leximi i rezultateve të proxy-t të CFNetwork direkt në C++
Përdorni API-t C të kërkimit të proxy-t të Apple nga C++ dhe mbani gjallë vlerat e huazuara të fjalorit pa i lëshuar si objekte të zotëruara.
Kërkimi i proxy-t i CFNetwork është një C API që mund të përdoret direkt nga C++; konvertimi i gjithçkaje në objekte Objective-C është opsional. Thirrni CFNetworkCopyProxiesForURL me CFURL-në e synuar dhe cilësimet nga CFNetworkCopySystemProxySettings për të marrë fjalorë proxy të renditur.
| Vlera | Pronësia |
|---|---|
| Objektet e krijuara ose të kthyera nga Copy, duke përfshirë rrugët dhe cilësimet | Në pronësi të thirrësit; lëshoni çdo objekt të zotëruar që nuk është null |
| Fjalor nga vargu ose emri i hostit nga fjalori përmes Get | I huazuar; mos e lëshoni pa e mbajtur më parë |
Për routes të vlefshme dhe një indeks brenda intervalit, nxjerrja mund të jetë:
CFDictionaryRef proxy = static_cast<CFDictionaryRef>(
CFArrayGetValueAtIndex(routes, index));
CFStringRef hostname = static_cast<CFStringRef>(
CFDictionaryGetValue(proxy, kCFProxyHostNameKey));
Lexoni kCFProxyTypeKey përpara se ta trajtoni hyrjen si pikë fundore. Kandidatët direktë dhe ata të konfigurimit automatik kërkojnë trajtim të ndryshëm.
Konvertoni emrin e hostit CFString dhe portin CFNumber të një hyrjeje konkrete ndërsa pronari mbetet i gjallë. Vlerat C++ të nxjerra mund të hyjnë më pas në konfigurimin e transportit. Për të mbajtur vetë CFString përtej rezultatit, mbajeni fillimisht dhe më pas balancojeni atë me CFRelease; përndryshe përfundoni përpara se të lëshoni pronarin që e përmban.
Gjatë pastrimit lëshoni URL-në e synuar të krijuar/kopjuar, fjalorin e cilësimeve dhe vargun e rezultateve, duke përdorur një roje shtrirjeje kur është e përshtatshme. Vetëm lloji CFStringRef i një ndryshoreje nuk jep pronësi mbi një rezultat Get.