nl:: Weave:: System:: Platform:: Layer
Özet
İşlevler |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Bu, platforma özgü bir Weave System Katman başlatma sonrası kancasıdır.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Bu, platforma özgü bir Örgü Sistemi Katmanı önceden kapatma kancasıdır.
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
Bu, platforma özel bir etkinlik / mesaj dağıtım kancasıdır.
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Bu, platforma özel bir etkinlik / mesaj dağıtım kancasıdır.
|
GetClock_Monotonic(void)
|
uint64_t
Monoton sistem zamanını mikrosaniye cinsinden almak için platforma özel işlev.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
Yüksek çözünürlüklü monoton sistem zamanını mikrosaniye cinsinden almak için platforma özgü işlev.
|
GetClock_MonotonicMS(void)
|
uint64_t
Monoton sistem süresini milisaniye cinsinden almak için platforma özel işlev.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
Geçerli gerçek (siyah) zamanı mikrosaniye Unix zaman biçiminde almak için platforma özgü işlev.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
Geçerli gerçek (sivil) zamanı milisaniyelik Unix saat biçiminde almak için platforma özgü işlev.
|
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
|
NL_DLL_EXPORT Error
Bu, platforma özel bir etkinlik / mesaj yayını kancasıdır.
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
Geçerli gerçek (sivil) zamanı ayarlamak için platforma özgü işlev.
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
Bu, platforma özel bir etkinlik / mesaj dağıtım kancasıdır.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Bu, platforma özgü bir Weave System Katman önceden başlatma kancasıdır.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Bu, platforma özgü bir Örgü Sistemi Katmanı önceden kapatma kancasıdır.
|
İşlevler
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
Bu, platforma özgü bir Weave System Katman başlatma sonrası kancasıdır.
Bu, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS ön işlemci tanımı belirtilerek geçersiz kılınabilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
Bu, platforma özgü bir Örgü Sistemi Katmanı önceden kapatma kancasıdır.
Bu, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS ön işlemci tanımı belirtilerek geçersiz kılınabilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarıda WEAVE_SYSTEM_NO_ERROR; aksi takdirde, kapatma hatasının nedenini belirten belirli bir hata mesajı gösterilir. Başarısız durumuna dönmek, kapatma işlemini iptal eder.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
Bu, platforma özel bir etkinlik / mesaj dağıtım kancasıdır.
Bu, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS ön işlemci tanımı girilerek geçersiz kılınabilir.
Bu işlem belirtilen etkinliği işlenmek üzere gönderir ve gerçek gönderme için Örgüt Sistemi Katman::HandleEvent yöntemini aktarmak üzere etkinlikteki tür ve bağımsız değişkenlerin marjını kaldırır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
Bu, platforma özel bir etkinlik / mesaj dağıtım kancasıdır.
Bu, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS ön işlemci tanımı girilerek geçersiz kılınabilir.
Bu durum bir etkinlik döngüsünü etkiler. Bu örneğe hizmet veren bir sırada bekler, etkinlikleri bu sıradan alır ve ardından bunları işlenmek üzere gönderir.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Değerleri Döndür |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
Monoton sistem zamanını mikrosaniye cinsinden almak için platforma özel işlev.
Bu işlevin, platform tanımlı rastgele bir dönemden bu yana geçen süreyi mikrosaniye cinsinden döndürmesi beklenir. Platform uygulamalarının, sistem yeniden başlatmaları arasında sürekli artan bir değer döndürmesi (yani hiçbir zaman sarmalamaması) gerekir. Buna ek olarak, uyanık kalma durumunda yeniden başlatma gerektirmeyen sistem uyku modları sırasında temel zaman kaynağının sürekli olarak işaretlenmesi gerekir.
Bu işlev tarafından döndürülen zaman diliminin, GetClock_MonotonicMS() dahil olmak üzere diğer GetClock... işlevleriyle aynı olması gerekmez.
Bu işlevin, ileti dizisi kullanan tüm platformlarda iş parçacığı açısından güvenli olması beklenir.
Ayrıntılar | |
---|---|
İadeler |
Platform tanımlı rastgele bir dönemden bu yana geçen süre (mikrosaniye cinsinden).
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
Yüksek çözünürlüklü monoton sistem zamanını mikrosaniye cinsinden almak için platforma özgü işlev.
Bu işlevin, platform tanımlı rastgele bir dönemden bu yana geçen süreyi mikrosaniye cinsinden döndürmesi beklenir. GetClock_MonotonicHiRes() tarafından döndürülen değerlerin sürekli olarak artan olması gerekir (yani hiçbir zaman sarmalama). Bununla birlikte, temel zamanlayıcının sistem derin uyku durumları sırasında sürekli olarak işaretlemesi gerekmez.
Platformun, kademeli saat ayarlamalarına (ayarlama) tabi olmayan yüksek çözünürlüklü bir zamanlayıcı kullanarak GetClock_MonotonicHiRes() uygulaması önerilir. Böyle bir zamanlayıcısı olmayan platformlarda, GetClock_MonotonicHiRes(), GetClock_Monotonic() ile aynı değeri döndürebilir.
Bu işlev tarafından döndürülen zaman dönemi, diğer GetClock... işlevleriyle aynı olmak zorunda değildir.
Bu işlevin, ileti dizisi kullanan tüm platformlarda iş parçacığı açısından güvenli olması beklenir.
Ayrıntılar | |
---|---|
İadeler |
Platform tanımlı rastgele bir dönemden bu yana geçen süre (mikrosaniye cinsinden).
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
Monoton sistem süresini milisaniye cinsinden almak için platforma özel işlev.
Bu işlevin, platform tanımlı rastgele bir dönemden bu yana geçen süreyi milisaniye cinsinden döndürmesi beklenir. Platform uygulamalarının, sistem yeniden başlatmaları arasında sürekli artan bir değer döndürmesi (yani hiçbir zaman sarmalamaması) gerekir. Buna ek olarak, uyanık kalma durumunda yeniden başlatma gerektirmeyen sistem uyku modları sırasında temel zaman kaynağının sürekli olarak işaretlenmesi gerekir.
Bu işlev tarafından döndürülen zaman diliminin, GetClock_Monotonic() dahil olmak üzere diğer GetClock... işlevleriyle aynı olması gerekmez.
Bu işlevin, ileti dizisi kullanan tüm platformlarda iş parçacığı açısından güvenli olması beklenir.
Ayrıntılar | |
---|---|
İadeler |
Platform tanımlı rastgele bir dönemden bu yana geçen süre (milisaniye cinsinden).
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
Geçerli gerçek (siyah) zamanı mikrosaniye Unix zaman biçiminde almak için platforma özgü işlev.
Bu işlevin, yerel platformun geçerli gerçek zaman kavramını döndürmesi beklenir. Bu değer, mikrosaniyeye ölçeklendirilmiş Unix zaman değeriyle ifade edilir. Temel saatin en az tam saniye değerinde (1.000.000 değerinde) ilerlemesi gerekir, ancak daha hızlı ilerleyebilir.
Gerçek zamanlı izleme yapabilen platformlarda, sistem gerçek zamanlı ile senkronize edilmediğinde GetClock_RealTime(), WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED hatasını döndürmelidir.
Gerçek zamanlı izleme yapamayan platformlar, GetClock_RealTime() işlevini uygulamamalıdır. Bu nedenle, gerçek zamanlı erişime bağlı olan özelliklerin bağlantı sırasında başarısız olmasına zorlayın. Alternatif olarak, bu tür platformlar WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatasını döndüren bir GetClock_RealTime() uygulamasını sağlayabilir.
Bu işlevin, ileti dizisi kullanan tüm platformlarda iş parçacığı açısından güvenli olması beklenir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
Geçerli gerçek (sivil) zamanı milisaniyelik Unix saat biçiminde almak için platforma özgü işlev.
Bu işlevin, yerel platformun milisaniyeye ölçeklendirilmiş Unix zaman değeri olarak ifade edilen geçerli gerçek zaman kavramını döndürmesi beklenir.
Beklenen davranışla ilgili ayrıntılar için GetClock_RealTime() dokümanlarına bakın.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
PostEvent
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
Bu, platforma özel bir etkinlik / mesaj yayını kancasıdır.
Bu, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS ön işlemci tanımı girilerek geçersiz kılınabilir.
Bu işlemle, belirtilen türde bir etkinlik / mesaj, sağlanan bağımsız değişkenle birlikte bu örneğin platforma özel etkinlik / ileti sırasına gönderilir.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
İadeler |
Başarıda WEAVE_SYSTEM_NO_ERROR; aksi takdirde, başlatma hatasının nedenini belirten belirli bir hata alırsınız.
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
Geçerli gerçek (sivil) zamanı ayarlamak için platforma özgü işlev.
Weave, yerel platformun mevcut gerçek zamanlı kavramını belirlemek için bu işlevi çağırır. Yeni geçerli zaman, mikrosaniyeye ölçeklenmiş Unix zaman değeriyle ifade edilir.
Ayarlandıktan sonra, temel platform saatinin en az tam saniye ayrıntı düzeyiyle gerçek zamanlı izlemesi beklenir.
Gerçek zamanlı izlemeyi destekleyen platformlarda, çağrı yapan uygulamanın geçerli saati ayarlama ayrıcalığı yoksa SetClock_RealTime() işlevinin WEAVE_SYSTEM_ERROR_ACCESS_DENIED hatası döndürmesi gerekir.
Gerçek zamanlı izleme yapamayan veya gerçek zamanlı ayarlama olanağı sunmayan platformlar SetClock_RealTime() işlevini uygulamamalıdır. Bu nedenle, gerçek zamanı ayarlamaya bağlı olan özelliklerin bağlantı zamanında başarısız olmasını zorunlu kılmalıdır. Alternatif olarak, bu tür platformlar WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatasını döndüren bir SetClock_RealTime() uygulamasını sağlayabilir.
Bu işlevin, ileti dizisi kullanan tüm platformlarda iş parçacığı açısından güvenli olması beklenir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
Bu, platforma özel bir etkinlik / mesaj dağıtım kancasıdır.
Bu, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS ön işlemci tanımı girilerek geçersiz kılınabilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Değerleri Döndür |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
Bu, platforma özgü bir Weave System Katman önceden başlatma kancasıdır.
Bu, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS ön işlemci tanımı belirtilerek geçersiz kılınabilir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarıda WEAVE_SYSTEM_NO_ERROR; aksi takdirde, başlatma hatasının nedenini belirten belirli bir hata alırsınız. Başarısız durumunun döndürülmesi başlatma işlemini iptal eder.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
Bu, platforma özgü bir Örgü Sistemi Katmanı önceden kapatma kancasıdır.
Bu, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS ön işlemci tanımı belirtilerek geçersiz kılınabilir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarıda WEAVE_SYSTEM_NO_ERROR; aksi takdirde, kapatma hatasının nedenini belirten belirli bir hata mesajı gösterilir. Başarısız durumuna dönmek, kapatma işlemini iptal eder.
|