CFNetworkin välityspalvelinhaku on C-rajapinta, jota voi käyttää suoraan C++:sta; kaiken muuntaminen Objective-C-objekteiksi on valinnaista. Kutsu CFNetworkCopyProxiesForURL kohde-CFURL:n ja CFNetworkCopySystemProxySettings-asetusten kanssa saadaksesi järjestetyt välityspalvelinsanakirjat.

ArvoOmistus
Copyn luomat tai palauttamat objektit, mukaan lukien reitit ja asetuksetKutsujan omistuksessa; vapauta jokainen omistettu objekti, joka ei ole null
Taulukosta saatava sanakirja tai Getin kautta sanakirjasta saatava isäntänimiLainattu; älä vapauta ilman, että olet pitänyt sitä

Kelvollisille routes-arvoille ja alueen sisällä olevalle indeksille poiminta voi olla:

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

Lue kCFProxyTypeKey ennen kuin käsittelet merkinnän päätepisteenä. Suorat ja automaattisen määrityksen ehdokkaat vaativat erilaista käsittelyä.

Muunna tietyn merkinnän CFString-isäntänimi ja CFNumber-portti, kun omistaja on elossa. Poimitut C++-arvot voivat sitten siirtyä siirtokerroksen määritykseen. Jos haluat pitää itse CFStringin tuloksen jälkeen, pidä se ensin ja tasapainota se myöhemmin CFReleasella; muuten lopeta ennen sitä sisältävän omistajan vapauttamista.

Vapauta siivouksessa luotu/kopioitu kohde-URL, asetussanakirja ja tulosjoukon taulukko ja käytä tarvittaessa laajuusvartijaa. Muuttujan CFStringRef-tyyppi yksin ei anna omistusta Get-tulokseen.

Aiheeseen liittyvät artikkelit