CFNetwork ۋاكالەتچى نەتىجىلىرىنى C++ دا بىۋاسىتە ئوقۇش
Apple نىڭ C ۋاكالەتچى ئىزدەش API لىرىنى C++ دىن ئىشلىتىپ، ئارىيەت ئېلىنغان لۇغەت قىممەتلىرىنى ئىگىلىك شەيئىسى سۈپىتىدە قويۇۋېتمەي تىرىك ساقلاڭ.
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 نەتىجىسىگە ئىگىلىك بەرمەيدۇ.