CFNetwork starpniekservera meklēšana ir C API, ko var izmantot tieši no C++; visu pārvēršana Objective-C objektos nav obligāta. Izsauciet CFNetworkCopyProxiesForURL ar mērķa CFURL un CFNetworkCopySystemProxySettings iestatījumiem, lai iegūtu sakārtotas starpniekservera vārdnīcas.

VērtībaĪpašumtiesības
Objekti, ko Copy izveido vai atgriež, tostarp maršruti un iestatījumiPieder izsaucējam; atbrīvojiet katru īpašumā esošo objektu, kas nav null
Vārdnīca no masīva vai resursdatora nosaukums no vārdnīcas ar GetAizņemts; neatbrīvojiet to, iepriekš to nepaturot

Derīgiem routes un indeksam diapazonā izguve var būt šāda:

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

Izlasiet kCFProxyTypeKey, pirms uzskatāt ierakstu par galapunktu. Tiešajiem un automātiskās konfigurācijas kandidātiem nepieciešama atšķirīga apstrāde.

Pārvērtiet konkrēta ieraksta CFString resursdatora nosaukumu un CFNumber portu, kamēr īpašnieks ir dzīvs. Iegūtās C++ vērtības pēc tam var nonākt transporta konfigurācijā. Lai paturētu pašu CFString arī pēc rezultāta, vispirms paturiet to un vēlāk līdzsvarojiet ar CFRelease; pretējā gadījumā pabeidziet pirms tā saturošā īpašnieka atbrīvošanas.

Tīrīšanas laikā atbrīvojiet izveidoto/kopēto mērķa URL, iestatījumu vārdnīcu un rezultātu masīvu, vajadzības gadījumā izmantojot apjoma sargu. Tikai mainīgā CFStringRef tips pats par sevi nedod īpašumtiesības uz Get rezultātu.

Saistītie raksti