د CFNetwork پروکسي پایلې په C++ کې مستقیم لوستل
د Apple C پروکسي لټون APIونه له C++ څخه وکاروئ او پور اخیستل شوي د قاموس ارزښتونه ژوندي وساتئ، پرته له دې چې د خپلو شيانو په توګه یې خوشې کړئ.
د CFNetwork پروکسي لټون یو C API دی چې له C++ څخه مستقیم کارول کېدای شي؛ هر څه 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 پایلې باندې ملکیت نه ورکوي.