nl:: Weave:: System:: Platform:: Layer
खास जानकारी
फ़ंक्शन |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
यह खास तौर पर, प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. यह हुक के इस्तेमाल से जुड़ा होता है.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
यह प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. इसे बंद होने से पहले इस्तेमाल किया जा सकता है.
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के लिए खास तौर पर बना इवेंट / मैसेज भेजने का हुक है.
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के लिए खास तौर पर बना इवेंट / मैसेज भेजने का हुक है.
|
GetClock_Monotonic(void)
|
uint64_t
यह प्लैटफ़ॉर्म के लिए खास तौर पर काम करता है. यह माइक्रोसेकंड में सिस्टम का समय बताने के लिए बनाया गया है.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
यह प्लैटफ़ॉर्म के लिए खास तौर पर काम करने वाला फ़ंक्शन है. इसकी मदद से, माइक्रोसेकंड में हाई-रिज़ॉल्यूशन के मोनोटोनिक सिस्टम टाइम का पता लगाया जा सकता है.
|
GetClock_MonotonicMS(void)
|
uint64_t
मिलीसेकंड में मोनोटोनिक सिस्टम टाइम पाने के लिए, प्लैटफ़ॉर्म के हिसाब से फ़ंक्शन.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
यह फ़ंक्शन, माइक्रोसेकंड यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से काम करता है.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
मिलीसेकंड में यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से फ़ंक्शन.
|
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
|
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के लिए खास इवेंट / मैसेज पोस्ट हुक है.
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
मौजूदा रीयल (सिविल) समय सेट करने के लिए, प्लैटफ़ॉर्म के हिसाब से दिया गया फ़ंक्शन.
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के लिए खास तौर पर बना इवेंट / मैसेज भेजने का हुक है.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के हिसाब से बना, Weave System layer प्री-इनीशियलाइज़ेशन हुक है.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. इसे बंद होने से पहले इस्तेमाल किया जा सकता है.
|
फ़ंक्शन
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
यह खास तौर पर, प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. यह हुक के इस्तेमाल से जुड़ा होता है.
प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का दावा करके, इसे बदला जा सकता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
यह प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. इसे बंद होने से पहले इस्तेमाल किया जा सकता है.
प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का दावा करके, इसे बदला जा सकता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
लौटाए जाने वाले प्रॉडक्ट |
सफलता मिलने पर WEAVE_SYSTEM_NO_ERROR; अगर ऐसा नहीं होता है, तो शटडाउन विफल होने की वजह बताने वाली कोई खास गड़बड़ी. 'मंज़ूरी बाकी है' स्टेटस पर वापस आने पर, शटडाउन को रद्द कर दिया जाएगा.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
यह प्लैटफ़ॉर्म के लिए खास तौर पर बना इवेंट / मैसेज भेजने का हुक है.
प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS का दावा करके, इसे बदला जा सकता है.
यह तय किए गए इवेंट को हैंडल करने के लिए भेजता है. यह इवेंट के टाइप और आर्ग्युमेंट को, वीव सिस्टम लेयर::HandleEvent के लिए भेजा जाता है, ताकि असल में डेटा भेजा जा सके.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
यह प्लैटफ़ॉर्म के लिए खास तौर पर बना इवेंट / मैसेज भेजने का हुक है.
प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS का दावा करके, इसे बदला जा सकता है.
इसका असर इवेंट लूप पर पड़ता है, जो इस इंस्टेंस को सेवा देने वाली सूची के लिए इंतज़ार कर रहा है, उस सूची में से इवेंट निकालता है, और फिर उन्हें हैंडल करने के लिए भेज रहा है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
यह प्लैटफ़ॉर्म के लिए खास तौर पर काम करता है. यह माइक्रोसेकंड में सिस्टम का समय बताने के लिए बनाया गया है.
यह उम्मीद की जाती है कि यह फ़ंक्शन, माइक्रोसेकंड में, बीते हुए समय को दिखाएगा, क्योंकि यह एक आर्बिट्रेरी और प्लैटफ़ॉर्म-तय epoch है. प्लैटफ़ॉर्म को लागू करने की जवाबदेही, सिस्टम के फिर से चालू होने के बीच की वैल्यू को लौटाने की होती है. इसका मतलब है कि यह वैल्यू हमेशा बढ़ती है (यानी कभी रैप नहीं होती). इसके अलावा, टाइम सोर्स को सिस्टम के ऐसे किसी भी स्लीप मोड के दौरान लगातार टिक करना ज़रूरी है जिसमें जागने के बाद रीस्टार्ट करने की ज़रूरत नहीं होती.
इस फ़ंक्शन के ज़रिए लौटाए गए समय के लिए, epoch का ऐसे किसी भी अन्य GetClock... फ़ंक्शन के लिए समान होना ज़रूरी नहीं है... फ़ंक्शन, जिसमें GetClock_MonotonicMS() भी शामिल है.
थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
एक आर्बिट्रेरी, प्लैटफ़ॉर्म-परिभाषित epoch के बाद से माइक्रोसेकंड में बीता समय.
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
यह प्लैटफ़ॉर्म के लिए खास तौर पर काम करने वाला फ़ंक्शन है. इसकी मदद से, माइक्रोसेकंड में हाई-रिज़ॉल्यूशन के मोनोटोनिक सिस्टम टाइम का पता लगाया जा सकता है.
यह उम्मीद की जाती है कि यह फ़ंक्शन, माइक्रोसेकंड में, बीते हुए समय को दिखाएगा, क्योंकि यह एक आर्बिट्रेरी और प्लैटफ़ॉर्म-तय epoch है. GetClock_MonotonicHiRes() से लौटाए गए मानों को हमेशा बढ़ाना ज़रूरी है (यानी कि कभी रैप नहीं किया जाएगा). हालांकि, सिस्टम में डीप स्लीप मोड के दौरान, टाइमर को लगातार टिक करने की ज़रूरत नहीं है.
प्लैटफ़ॉर्म को एक बेहतर रिज़ॉल्यूशन वाले टाइमर का इस्तेमाल करके, GetClock_MonotonicHiRes() लागू करने के लिए कहा जाता है. इस टाइमर पर समय के साथ घड़ी में होने वाले बदलाव (स्लविंग) की ज़रूरत नहीं होती. जिन प्लैटफ़ॉर्म पर ऐसा टाइमर सेट नहीं किया गया है उन पर GetClock_MonotonicHiRes(), GetClock_Monotonic() की तरह ही वैल्यू दिखा सकता है.
इस फ़ंक्शन से मिलने वाले समय के लिए, किसी भी अन्य GetClock... फ़ंक्शन के लिए Epoch के लिए वैल्यू देना ज़रूरी नहीं है.
थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
एक आर्बिट्रेरी, प्लैटफ़ॉर्म-परिभाषित epoch के बाद से माइक्रोसेकंड में बीता समय.
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
मिलीसेकंड में मोनोटोनिक सिस्टम टाइम पाने के लिए, प्लैटफ़ॉर्म के हिसाब से फ़ंक्शन.
यह फ़ंक्शन, किसी आर्बिट्रेरी और प्लैटफ़ॉर्म के तय किए गए Epoch के हिसाब से, समय के साथ मिलने वाला समय मिलीसेकंड में दिखाता है. प्लैटफ़ॉर्म को लागू करने की जवाबदेही, सिस्टम के फिर से चालू होने के बीच की वैल्यू को लौटाने की होती है. इसका मतलब है कि यह वैल्यू हमेशा बढ़ती है (यानी कभी रैप नहीं होती). इसके अलावा, टाइम सोर्स को सिस्टम के ऐसे किसी भी स्लीप मोड के दौरान लगातार टिक करना ज़रूरी है जिसमें जागने के बाद रीस्टार्ट करने की ज़रूरत नहीं होती.
इस फ़ंक्शन से लौटाए गए समय के लिए epoch का, किसी भी अन्य GetClock... फ़ंक्शन के लिए समान होना ज़रूरी नहीं है, जिसमें GetClock_Monotonic() भी शामिल है.
थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.
जानकारी | |
---|---|
लौटाए जाने वाले प्रॉडक्ट |
आर्बिट्रेरी, प्लैटफ़ॉर्म-परिभाषित epoch के बाद से मिलीसेकंड में बीता समय.
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
यह फ़ंक्शन, माइक्रोसेकंड यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से काम करता है.
इस फ़ंक्शन से उम्मीद की जाती है कि यह लोकल प्लैटफ़ॉर्म के मौजूदा रीयल टाइम अनुमान को दिखाएगा, जिसे माइक्रोसेकंड में स्केल किए गए यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाएगा. इसमें दी गई घड़ी के लिए, कम से कम पूरे सेकंड (वैल्यू 10,00,000) की दर पर सही का निशान लगाना ज़रूरी है. हालांकि, यह तेज़ी से टिक सकता है.
रीयल टाइम में ट्रैकिंग करने की क्षमता रखने वाले प्लैटफ़ॉर्म पर, GetClock_RealTime() को रीयल टाइम के साथ सिंक नहीं होने पर, WEAVE_ सिस्टम_ERROR_REAL_TIME_NOT_SYNCED गड़बड़ी दिखाएगा.
रीयल टाइम में ट्रैक नहीं करने वाले प्लैटफ़ॉर्म को GetClock_RealTime() फ़ंक्शन लागू नहीं करना चाहिए. इसकी वजह से, उन सुविधाओं का लिंक-टाइम काम करना बंद हो जाएगा जो रीयल टाइम के ऐक्सेस पर निर्भर हैं. इसके अलावा, ऐसे प्लैटफ़ॉर्म GetClock_RealTime() लागू करते हैं, जो WEAVE_ सिस्टम_ERROR_NOT_SUPPORTED गड़बड़ी दिखाता है.
थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
मिलीसेकंड में यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से फ़ंक्शन.
इस फ़ंक्शन से उम्मीद की जाती है कि यह लोकल प्लैटफ़ॉर्म के मौजूदा रीयल टाइम का सिद्धांत दिखाएगा, जिसे मिलीसेकंड में स्केल किए गए यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है.
अनुमानित व्यवहार के बारे में जानने के लिए, GetClock_RealTime() का दस्तावेज़ देखें.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
PostEvent
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
यह प्लैटफ़ॉर्म के लिए खास इवेंट / मैसेज पोस्ट हुक है.
प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS का दावा करके, इसे बदला जा सकता है.
यह बताए गए तरह के इवेंट / मैसेज को दिए गए तर्क के साथ, प्लैटफ़ॉर्म के हिसाब से बनाए गए इवेंट / मैसेज की सूची में पोस्ट करता है.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||
लौटाए जाने वाले प्रॉडक्ट |
सफलता मिलने पर WEAVE_SYSTEM_NO_ERROR; अगर ऐसा नहीं होता है, तो एक गड़बड़ी की वजह से शुरू न हो पाने की वजह बताई जा सकती है.
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
मौजूदा रीयल (सिविल) समय सेट करने के लिए, प्लैटफ़ॉर्म के हिसाब से दिया गया फ़ंक्शन.
Weave ने इस फ़ंक्शन को कॉल करके, लोकल प्लैटफ़ॉर्म के बारे में रीयल-टाइम के विचार को सेट किया है. नए मौजूदा समय को यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है. इसे माइक्रोसेकंड में स्केल किया गया यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है.
सेट हो जाने के बाद, मौजूदा प्लैटफ़ॉर्म घड़ी, कम से कम पूरे सेकंड की जानकारी के साथ रीयल टाइम को ट्रैक करेगी.
रीयल-टाइम में ट्रैकिंग की सुविधा देने वाले प्लैटफ़ॉर्म पर, अगर कॉल करने वाले ऐप्लिकेशन के पास मौजूदा समय सेट करने का खास अधिकार नहीं है, तो SetClock_RealTime() फ़ंक्शन को WEAVE_ सिस्टम_ERROR_ACCESS_DENIED गड़बड़ी के तौर पर गड़बड़ी दिखानी चाहिए.
जो प्लैटफ़ॉर्म रीयल टाइम को ट्रैक नहीं कर सकते या जो रीयल टाइम सेट करने की सुविधा नहीं देते उन्हें SetClock_RealTime() फ़ंक्शन लागू नहीं करना चाहिए. इस वजह से, रीयल-टाइम सेटिंग पर निर्भर सुविधाओं के लिंक-टाइम काम नहीं करेंगे. इसके अलावा, ऐसे प्लैटफ़ॉर्म SetClock_RealTime() को लागू करने की सुविधा दे सकते हैं जो WEAVE_ सिस्टम_ERROR_NOT_SUPPORTED गड़बड़ी दिखाता है.
थ्रेडिंग की सुविधा वाले किसी भी प्लैटफ़ॉर्म पर, इस फ़ंक्शन को थ्रेड के ज़रिए सुरक्षित रखा जा सकता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
यह प्लैटफ़ॉर्म के लिए खास तौर पर बना इवेंट / मैसेज भेजने का हुक है.
प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS का दावा करके, इसे बदला जा सकता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
यह प्लैटफ़ॉर्म के हिसाब से बना, Weave System layer प्री-इनीशियलाइज़ेशन हुक है.
प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का दावा करके, इसे बदला जा सकता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए जाने वाले प्रॉडक्ट |
सफलता मिलने पर WEAVE_SYSTEM_NO_ERROR; अगर ऐसा नहीं होता है, तो एक गड़बड़ी की वजह से शुरू न हो पाने की वजह बताई जा सकती है. 'मंज़ूरी नहीं मिली' स्टेटस मिलने पर, शुरू करने की प्रोसेस रद्द हो जाएगी.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
यह प्लैटफ़ॉर्म के हिसाब से बनाया गया Weave System लेयर है. इसे बंद होने से पहले इस्तेमाल किया जा सकता है.
प्रीप्रोसेसर डेफ़िनिशन, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का दावा करके, इसे बदला जा सकता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए जाने वाले प्रॉडक्ट |
सफलता मिलने पर WEAVE_SYSTEM_NO_ERROR; अगर ऐसा नहीं होता है, तो शटडाउन विफल होने की वजह बताने वाली कोई खास गड़बड़ी. 'मंज़ूरी बाकी है' स्टेटस पर वापस आने पर, शटडाउन को रद्द कर दिया जाएगा.
|