nl:: Weave:: System:: Platform:: Layer
खास जानकारी
फ़ंक्शन |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
यह प्लैटफ़ॉर्म शुरू होने के बाद, खास तौर पर प्लैटफ़ॉर्म के लिए वीव सिस्टम लेयर की हुक है.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
यह प्लैटफ़ॉर्म के हिसाब से, वीव सिस्टम लेयर में बंद होने से पहले का हुक है.
|
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
यह प्लैटफ़ॉर्म के हिसाब से वीव सिस्टम लेयर शुरू करने से पहले का हुक है.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
यह प्लैटफ़ॉर्म के हिसाब से, वीव सिस्टम लेयर में बंद होने से पहले का हुक है.
|
फ़ंक्शन
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
यह प्लैटफ़ॉर्म शुरू होने के बाद, खास तौर पर प्लैटफ़ॉर्म के लिए वीव सिस्टम लेयर की हुक है.
प्रीप्रोसेसर की परिभाषा, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का इस्तेमाल करके, इसमें बदलाव किया जा सकता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
यह प्लैटफ़ॉर्म के हिसाब से, वीव सिस्टम लेयर में बंद होने से पहले का हुक है.
प्रीप्रोसेसर की परिभाषा, 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 का इस्तेमाल करके, इसे बदला जा सकता है.
यह तय किए गए इवेंट को हैंडल करने, उसके टाइप और आर्ग्युमेंट को अनमर्श करने के लिए भेज देता है, ताकि सही डिस्पैच के लिए Weave System layer::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... फ़ंक्शन के साथ मिलने वाले epoch के साथ आना ज़रूरी नहीं है. इसमें, GetClock_MonotonicMS() शामिल है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित माना जाता है.
जानकारी | |
---|---|
लौटाए गए सामान |
प्लैटफ़ॉर्म के मुताबिक तय किए गए Epoch के बाद से, माइक्रोसेकंड में बीत चुका समय.
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
माइक्रोसेकंड में हाई-रिज़ॉल्यूशन वाले मोनोटोनिक सिस्टम का समय पाने के लिए, प्लैटफ़ॉर्म के हिसाब से काम करने की सुविधा.
यह फ़ंक्शन किसी आर्बिट्रेरी, प्लैटफ़ॉर्म के मुताबिक तय किए गए epoch के बाद, माइक्रोसेकंड में बीता हुआ समय दिखाता है. GetClock_MonotonicHiRes() से मिलने वाली वैल्यू का लगातार बढ़ना ज़रूरी है (यानी कि कभी भी रैप नहीं होना चाहिए). हालांकि, सिस्टम में गहरी नींद की स्थिति के दौरान लगातार टिकने के लिए, बुनियादी टाइमर की ज़रूरत नहीं होती है.
प्लैटफ़ॉर्म को हाई-रिज़ॉल्यूशन वाले टाइमर का इस्तेमाल करके, GetClock_MonotonicHiRes() लागू करने के लिए सलाह दी जाती है. इस टाइमर पर धीरे-धीरे समय-समय पर बदलाव (स्लीविंग) नहीं होता है. बिना टाइमर वाले प्लैटफ़ॉर्म पर, GetClock_MonotonicHiRes() वही वैल्यू दिखा सकता है जो GetClock_Monotonic() पर मिलती है.
इस फ़ंक्शन से लौटाए गए समय के लिए epoch फ़ॉर्म का वैसा ही होना ज़रूरी नहीं है जैसा किसी भी अन्य GetClock... फ़ंक्शन के लिए होता है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित माना जाता है.
जानकारी | |
---|---|
लौटाए गए सामान |
प्लैटफ़ॉर्म के मुताबिक तय किए गए Epoch के बाद से, माइक्रोसेकंड में बीत चुका समय.
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
मिलीसेकंड में मोनोटोनिक सिस्टम समय पाने के लिए प्लैटफ़ॉर्म के हिसाब से काम करने की सुविधा.
यह फ़ंक्शन किसी आर्बिट्रेरी, प्लैटफ़ॉर्म के मुताबिक तय किए गए epoch के बाद, मिलीसेकंड में बीता हुआ समय दिखाने की उम्मीद करता है. यह ज़रूरी है कि प्लैटफ़ॉर्म को लागू करने के लिए इस्तेमाल की जाने वाली वैल्यू, सिस्टम के फिर से चालू होने पर हर समय बढ़ती (जैसे कभी खत्म न होती) वैल्यू दिखाती हो. इसके अलावा, सिस्टम के स्लीप मोड में रहने के दौरान, टाइम सोर्स पर लगातार सही का निशान लगाना ज़रूरी है. ऐसा इसलिए होता है, क्योंकि स्क्रीन चालू होने पर, स्लीप मोड को रीस्टार्ट करने की ज़रूरत नहीं होती.
इस फ़ंक्शन से दिखाए गए समय के लिए epoch का मतलब, किसी भी दूसरे GetClock... फ़ंक्शन के साथ मिलने वाले epoch के बराबर होना नहीं है. इसमें, GetClock_Monotonic() शामिल है.
यह फ़ंक्शन, थ्रेड की सुविधा इस्तेमाल करने वाले किसी भी प्लैटफ़ॉर्म पर, थ्रेड के लिए सुरक्षित माना जाता है.
जानकारी | |
---|---|
लौटाए गए सामान |
किसी आर्बिट्रेरी, प्लैटफ़ॉर्म के मुताबिक तय किए गए समय के बाद से, मिलीसेकंड में बीत चुका समय.
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
माइक्रोसेकंड यूनिक्स टाइम फ़ॉर्मैट में मौजूदा रीयल (सिविल) समय की जानकारी पाने के लिए, प्लैटफ़ॉर्म के हिसाब से फ़ंक्शन.
इस फ़ंक्शन से लोकल प्लैटफ़ॉर्म का मौजूदा रीयल टाइम का नज़रिया मिल सकता है. इसे यूनिक्स टाइम वैल्यू के तौर पर दिखाया जाता है. इसे माइक्रोसेकंड में स्केल किया जाता है. दी गई घड़ी का समय कम से कम पूरे सेकंड (10,00,000 की वैल्यू) में होना ज़रूरी है, लेकिन यह तेज़ी से सही का निशान लगा सकती है.
रीयल टाइम को ट्रैक करने की क्षमता रखने वाले प्लैटफ़ॉर्म पर, जब सिस्टम रीयल-टाइम के साथ सिंक नहीं होता है, तब GetClock_RealTime() गड़बड़ी WEAVE_system_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_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का इस्तेमाल करके, इसमें बदलाव किया जा सकता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए गए सामान |
सफल होने पर WEAVE_SYSTEM_NO_ERROR का इस्तेमाल नहीं किया जा सकेगा. अगर ऐसा नहीं है, तो यह एक ऐसी गड़बड़ी है जो इस बार शुरू नहीं हो पाने की वजह बताती है. जो स्टेटस पूरा नहीं हुआ उसके हिसाब से शुरू करने की प्रोसेस रद्द हो जाएगी.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
यह प्लैटफ़ॉर्म के हिसाब से, वीव सिस्टम लेयर में बंद होने से पहले का हुक है.
प्रीप्रोसेसर की परिभाषा, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS का इस्तेमाल करके, इसमें बदलाव किया जा सकता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए गए सामान |
सफल होने पर WEAVE_SYSTEM_NO_ERROR का पता चला; नहीं तो, शटडाउन की असफलता की वजह बताने वाली कोई खास गड़बड़ी. जो स्टेटस जनरेट नहीं किया जा सका उसे वापस करने पर शटडाउन रद्द हो जाएगा.
|