C++ ನಲ್ಲಿ CFNetwork ಪ್ರಾಕ್ಸಿ ಫಲಿತಾಂಶಗಳನ್ನು ನೇರವಾಗಿ ಓದಿ
C++ ನಿಂದ Apple ನ C ಪ್ರಾಕ್ಸಿ ಲುಕಪ್ API ಗಳನ್ನು ಬಳಸಿ ಮತ್ತು ಎರವಲು ಪಡೆದ ನಿಘಂಟು ಮೌಲ್ಯಗಳನ್ನು ಸ್ವಾಮ್ಯದ ವಸ್ತುಗಳಾಗಿ ಬಿಡುಗಡೆ ಮಾಡದೆ ಜೀವಂತವಾಗಿ ಇರಿಸಿ.
CFNetwork ನ ಪ್ರಾಕ್ಸಿ ಲುಕಪ್ C++ ನಿಂದ ನೇರವಾಗಿ ಬಳಸಬಹುದಾದ C API ಆಗಿದೆ; ಎಲ್ಲವನ್ನೂ Objective-C ವಸ್ತುಗಳಾಗಿ ಪರಿವರ್ತಿಸುವುದು ಐಚ್ಛಿಕ. ಕ್ರಮಬದ್ಧ ಪ್ರಾಕ್ಸಿ ನಿಘಂಟುಗಳನ್ನು ಪಡೆಯಲು CFNetworkCopyProxiesForURL ಅನ್ನು ಗುರಿ CFURL ಮತ್ತು CFNetworkCopySystemProxySettings ನ ಸೆಟ್ಟಿಂಗ್ಗಳೊಂದಿಗೆ ಕರೆಯಿರಿ.
| ಮೌಲ್ಯ | ಸ್ವಾಮ್ಯ |
|---|---|
| Copy ರಚಿಸಿದ ಅಥವಾ ಹಿಂತಿರುಗಿಸಿದ ವಸ್ತುಗಳು, ಮಾರ್ಗಗಳು ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳು ಸೇರಿದಂತೆ | ಕರೆಮಾಡುವವರ ಸ್ವಾಮ್ಯ; ಪ್ರತಿ ಶೂನ್ಯವಲ್ಲದ ಸ್ವಾಮ್ಯದ ವಸ್ತುವನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿ |
| ಸರಣಿಯಿಂದ ನಿಘಂಟು ಅಥವಾ 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 ಫಲಿತಾಂಶದ ಮೇಲೆ ಸ್ವಾಮ್ಯ ನೀಡುವುದಿಲ್ಲ.