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 Dokuma Sistemi Katman önceden kapatma kancasıdır.
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
Bu, platforma özel bir etkinlik / ileti gönderme kancasıdır.
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Bu, platforma özel bir etkinlik / ileti gönderme kancasıdır.
|
GetClock_Monotonic(void)
|
uint64_t
Monotonik sistem süresini mikrosaniye cinsinden almak için platforma özgü işlev.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
Yüksek çözünürlüklü monotonik sistem zamanını mikrosaniye cinsinden almak için platforma özgü işlev.
|
GetClock_MonotonicMS(void)
|
uint64_t
Milisaniye cinsinden monotonik sistem süresini almak için platforma özgü işlev.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
Geçerli gerçek (sivil) saati mikrosaniye Unix saat biçiminde almak için platforma özgü işlev.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
Geçerli gerçek (sivil) saati 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 (resmi) saati ayarlamak için kullanılan platforma özgü işlev.
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
Bu, platforma özel bir etkinlik / ileti gönderme kancasıdır.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Bu, platforma özgü bir Weave System Katman ön başlatma kancasıdır.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Bu, platforma özgü bir Dokuma 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 işlem, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS ön işlemci tanımı onaylanarak 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 Dokuma Sistemi Katman önceden kapatma kancasıdır.
Bu işlem, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS ön işlemci tanımı onaylanarak geçersiz kılınabilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
İadeler |
Başarılı olduğunda WEAVE_SYSTEM_NO_ERROR. Aksi takdirde, kapatma hatasının nedenini belirten belirli bir hata mesajı gösterilir. Başarısız durum geri döndürülmesi, kapatma işlemini iptal eder.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
Bu, platforma özel bir etkinlik / ileti gönderme kancasıdır.
Bu işlem, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS ön işlemci tanımı belirtilerek geçersiz kılınabilir.
Bu işlem, belirtilen etkinliği işleme için gönderir, etkinlikteki tür ve bağımsız değişkenlerin gerçek dağıtım için Weave System tier::HandleEvent'e devredilmesi amacıyla kullanılır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
Bu, platforma özel bir etkinlik / ileti gönderme kancasıdır.
Bu işlem, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS ön işlemci tanımı belirtilerek geçersiz kılınabilir.
Bu işlem, söz konusu örneğe hizmet veren bir sıra bekleyerek, etkinlikleri sıradan çekip işleme için göndererek bir etkinlik döngüsünü etkiler.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
Monotonik sistem süresini 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. Platform uygulamalarının, sistemin yeniden başlatılması arasında sürekli artan (yani asla sarmalamayan) bir değer döndürmesi gerekir. Buna ek olarak, uyandıktan sonra 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 alanının, GetClock_MonotonicMS() dahil diğer GetClock... işlevlerinden herhangi biriyle aynı olması gerekmez.
Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olması beklenir.
yöntemini çağırmalıdır.Ayrıntılar | |
---|---|
İadeler |
Rastgele, platform tanımlı bir dönemden bu yana geçen süre (mikrosaniye cinsinden).
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
Yüksek çözünürlüklü monotonik 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 artması gerekir (yani asla sarmalamaz). Ancak altta yatan zamanlayıcının sistem derin uyku durumları sırasında sürekli olarak ayarlanması gerekmez.
Platformun, kademeli saat ayarlamalarına (saptırmaya) tabi olmayan yüksek çözünürlüklü bir zamanlayıcı kullanarak GetClock_MonotonicHiRes() yöntemini uygulaması önerilir. Böyle bir zamanlayıcının olmadığı platformlarda GetClock_MonotonicHiRes(), GetClock_Monotonic() ile aynı değeri döndürebilir.
Bu işlev tarafından döndürülen zaman zamanının, diğer herhangi bir GetClock... işleviyle aynı olması gerekmez.
Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olması beklenir.
yöntemini çağırmalıdır.Ayrıntılar | |
---|---|
İadeler |
Rastgele, platform tanımlı bir dönemden bu yana geçen süre (mikrosaniye cinsinden).
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
Milisaniye cinsinden monotonik sistem süresini almak için platforma özgü 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, sistemin yeniden başlatılması arasında sürekli artan (yani asla sarmalamayan) bir değer döndürmesi gerekir. Buna ek olarak, uyandıktan sonra 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 diğer GetClock... işlevlerinden herhangi biri için aynı olması gerekmez.
Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olması beklenir.
yöntemini çağırmalıdır.Ayrıntılar | |
---|---|
İadeler |
Rastgele, platform tanımlı bir dönemden bu yana geçen süre (milisaniye cinsinden).
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
Geçerli gerçek (sivil) saati mikrosaniye Unix saat biçiminde almak için platforma özgü işlev.
Bu işlevin, yerel platformun geçerli gerçek zamanlı kavramını döndürmesi beklenir. Bu kavram, mikrosaniyeye ölçeklenmiş bir Unix zaman değeri olarak ifade edilir. Temel saatin en az tam saniye gibi (1.000.000 değerinde) bir hızda ilerlemesi gerekir, ancak daha hızlı çalışabilir.
Gerçek zamanlı izleme yapabilen bu platformlarda, sistemin gerçek zamanlı senkronizasyonu iptal edildiğ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 özelliklerde bağlantı-zaman hataları zorla yaşanır. Alternatif olarak, bu tür platformlar WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatasını döndüren bir GetClock_RealTime() uygulaması sağlayabilir.
Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olması beklenir.
çağrısı yapmalıdır.Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
Geçerli gerçek (sivil) saati milisaniyelik Unix saat biçiminde almak için platforma özgü işlev.
Bu işlevin, yerel platformun geçerli gerçek zamanlı kavramını döndürmesi beklenir. Bu kavram, milisaniyeye ölçeklenmiş bir Unix zaman değeri olarak ifade edilir.
Beklenen davranışla ilgili ayrıntılar için GetClock_RealTime() dokümanlarına bakın.
yöntemini çağırmalıdır.Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
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 işlem, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS ön işlemci tanımı belirtilerek geçersiz kılınabilir.
Bu işlem, sağlanan bağımsız değişkeni bu örneğin platforma özel etkinlik/mesaj sırasına, belirtilen türde bir etkinlik veya mesaj yayınlar.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
İadeler |
Başarılı olduğunda WEAVE_SYSTEM_NO_ERROR. Aksi takdirde başlatma hatasının nedenini belirten belirli bir hata.
|
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
Geçerli gerçek (resmi) saati ayarlamak için kullanılan platforma özgü işlev.
Weave, yerel platformun geçerli gerçek zamanlı kavramını ayarlamak için bu işlevi çağırır. Yeni geçerli saat, mikrosaniyeye ölçeklenmiş bir Unix zaman değeri olarak ifade edilir.
Ayarlandıktan sonra temel platform saatinin gerçek zamanı en az tam saniyelik bir ayrıntı düzeyiyle izlemesi beklenir.
Gerçek zamanlı izlemeyi destekleyen platformlarda, çağıran uygulamanın geçerli saati ayarlama ayrıcalığına sahip olmaması durumunda SetClock_RealTime() işlevin WEAVE_SYSTEM_ERROR_ACCESS_DENIED hatası döndürmesi gerekir.
Gerçek zamanlı izleme yapamayan veya gerçek zamanlı ayarlama olanağı sunmayan platformlarda SetClock_RealTime() işlevini uygulamamalıdır. Bu durumda, gerçek zamanlı ayarlamaya bağlı özelliklerde bağlantı zamanı hataları meydana gelebilir. Alternatif olarak, bu tür platformlar WEAVE_SYSTEM_ERROR_NOT_SUPPORTED hatasını döndüren bir SetClock_RealTime() uygulaması sağlayabilir.
Bu işlevin, ileti dizisi kullanılan tüm platformlarda iş parçacığı güvenli olması beklenir.
yöntemini çağırmalıdır.Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
Bu, platforma özel bir etkinlik / ileti gönderme kancasıdır.
Bu işlem, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS ön işlemci tanımı belirtilerek geçersiz kılınabilir.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
Bu, platforma özgü bir Weave System Katman ön başlatma kancasıdır.
Bu işlem, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS ön işlemci tanımı onaylanarak geçersiz kılınabilir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarılı olduğunda WEAVE_SYSTEM_NO_ERROR. Aksi takdirde başlatma hatasının nedenini belirten belirli bir hata. Başarısız durum döndürüldüğünde başlatma iptal edilir.
|
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
Bu, platforma özgü bir Dokuma Sistemi Katman önceden kapatma kancasıdır.
Bu işlem, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS ön işlemci tanımı onaylanarak geçersiz kılınabilir.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
İadeler |
Başarılı olduğunda WEAVE_SYSTEM_NO_ERROR. Aksi takdirde, kapatma hatasının nedenini belirten belirli bir hata mesajı gösterilir. Başarısız durum geri döndürülmesi, kapatma işlemini iptal eder.
|