CFNetwork-ന്റെ പ്രോക്സി ലുക്കപ്പ് C++-ൽ നിന്ന് നേരിട്ട് ഉപയോഗിക്കാവുന്ന C API ആണ്; എല്ലാം Objective-C വസ്തുക്കളാക്കി മാറ്റുന്നത് ഐച്ഛികമാണ്. ക്രമീകരിച്ച പ്രോക്സി ഡിക്ഷണറികൾ ലഭിക്കാൻ CFNetworkCopyProxiesForURL വിളിച്ച് ലക്ഷ്യ CFURL-ഉം CFNetworkCopySystemProxySettings-ന്റെ ക്രമീകരണങ്ങളും നൽകുക.

മൂല്യംഉടമസ്ഥത
Copy സൃഷ്ടിക്കുന്നതോ തിരികെ നൽകുന്നതോ ആയ വസ്തുക്കൾ, റൂട്ടുകളും ക്രമീകരണങ്ങളും ഉൾപ്പെടെവിളിക്കുന്നയാളുടെ ഉടമസ്ഥതയിൽ; null അല്ലാത്ത ഓരോ ഉടമസ്ഥ വസ്തുവും വിട്ടയക്കുക
അറേയിൽ നിന്നുള്ള ഡിക്ഷണറി അല്ലെങ്കിൽ Get വഴി ഡിക്ഷണറിയിൽ നിന്നുള്ള ഹോസ്റ്റ്നാമംകടമെടുത്തത്; സൂക്ഷിച്ചുവെക്കാതെ വിട്ടയക്കരുത്

സാധുവായ routes-ഉം പരിധിക്കുള്ളിലെ ഇൻഡക്സും ഉണ്ടെങ്കിൽ, എക്സ്ട്രാക്ഷൻ ഇപ്രകാരമാകാം:

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

എൻട്രിയെ എൻഡ്പോയിന്റായി കാണുന്നതിന് മുൻപ് kCFProxyTypeKey വായിക്കുക. നേരിട്ടുള്ളതും യാന്ത്രിക-കോൺഫിഗറേഷൻ ഉള്ളതുമായ സ്ഥാനാർഥികൾക്ക് വ്യത്യസ്ത കൈകാര്യം വേണം.

ഉടമ ജീവനോടെയിരിക്കുമ്പോൾ ഒരു നിർദ്ദിഷ്ട എൻട്രിയുടെ CFString ഹോസ്റ്റ്നാമും CFNumber പോർട്ടും പരിവർത്തനം ചെയ്യുക. എക്സ്ട്രാക്റ്റ് ചെയ്ത C++ മൂല്യങ്ങൾക്ക് പിന്നീട് ട്രാൻസ്പോർട്ടിന്റെ കോൺഫിഗറേഷനിലേക്ക് പോകാം. ഫലത്തിനു ശേഷവും CFString തന്നെ നിലനിർത്താൻ ആദ്യം അത് സൂക്ഷിക്കുക, പിന്നീട് CFRelease ഉപയോഗിച്ച് സന്തുലിതമാക്കുക; അല്ലാത്തപക്ഷം അത് ഉൾക്കൊള്ളുന്ന ഉടമയെ വിട്ടയക്കുന്നതിന് മുൻപ് ജോലി തീർക്കുക.

വൃത്തിയാക്കുമ്പോൾ സൃഷ്ടിച്ച/പകർത്തിയ ലക്ഷ്യ URL, ക്രമീകരണ ഡിക്ഷണറി, ഫല അറേ എന്നിവ വിട്ടയക്കുക, ആവശ്യമെങ്കിൽ സ്കോപ്പ് ഗാർഡ് ഉപയോഗിക്കുക. ഒരു വേരിയബിളിന്റെ CFStringRef ടൈപ്പ് മാത്രം Get ഫലത്തിന്മേൽ ഉടമസ്ഥത നൽകുന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ