nl:: Weave:: System:: Platform:: Layer
요약
함수 |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
이는 플랫폼별 Weave 시스템 레이어 초기화 후 후크입니다.
|
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
마이크로초 단위의 Unix 시간 형식으로 현재 실제 (상용) 시간을 가져오기 위한 플랫폼별 함수입니다.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
현재 실제 (상용) 시간을 밀리초 Unix 시간 형식으로 가져오기 위한 플랫폼별 함수입니다.
|
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 시스템 레이어 사전 초기화 후크입니다.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
이는 플랫폼별 Weave System 레이어 사전 종료 후크입니다.
|
함수
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
이는 플랫폼별 Weave 시스템 레이어 초기화 후 후크입니다.
이는 전처리기 정의 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를 어설션하여 재정의할 수 있습니다.
이 메서드는 지정된 이벤트를 처리하기 위해 전달하며 핸드오프할 이벤트의 유형과 인수를 언마셜링하여 실제 디스패치의 Weave 시스템 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 )
마이크로초 단위의 단조 시스템 시간을 가져오기 위한 플랫폼별 함수입니다.
이 함수는 플랫폼에서 정의한 임의의 에포크 이후 경과된 시간(마이크로초)을 반환할 것으로 예상됩니다. 플랫폼 구현은 시스템 재부팅 사이에 계속해서 증가하는 (즉 래핑하지 않음) 값을 반환해야 합니다. 또한, 기본 시간 소스는 절전 모드 해제 시 다시 시작할 필요가 없는 시스템 절전 모드 중에 계속 틱해야 합니다.
이 함수에서 반환하는 시간의 에포크는 GetClock_MonotonicMS()를 포함한 다른 GetClock... 함수의 경우와 같을 필요가 없습니다.
이 함수는 스레딩을 사용하는 모든 플랫폼에서 스레드로부터 안전할 것으로 예상됩니다.
세부정보 | |
---|---|
반환 |
플랫폼에서 정의한 임의의 에포크 이후 경과된 시간(단위: 마이크로초)입니다.
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
마이크로초 단위의 고해상도 단조 시스템 시간을 가져오기 위한 플랫폼별 함수입니다.
이 함수는 플랫폼에서 정의한 임의의 에포크 이후 경과된 시간(마이크로초)을 반환할 것으로 예상됩니다. GetClock_MonotonicHiRes()에서 반환된 값은 계속 증가해야 합니다 (래핑되지 않음). 하지만 시스템의 완전 절전 상태에서 기본 타이머가 계속 틱할 필요는 없습니다.
플랫폼은 점진적인 클록 조정(슬로우링)이 적용되지 않는 고해상도 타이머를 사용하여 GetClock_MonotonicHiRes()를 구현하는 것이 좋습니다. 이러한 타이머가 없는 플랫폼에서 GetClock_MonotonicHiRes()는 GetClock_Monotonic()과 동일한 값을 반환할 수 있습니다.
이 함수에서 반환되는 시간의 에포크는 다른 GetClock... 함수의 경우와 같을 필요가 없습니다.
이 함수는 스레딩을 사용하는 모든 플랫폼에서 스레드로부터 안전할 것으로 예상됩니다.
세부정보 | |
---|---|
반환 |
플랫폼에서 정의한 임의의 에포크 이후 경과된 시간(단위: 마이크로초)입니다.
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
단조 시스템 시간을 밀리초 단위로 가져오기 위한 플랫폼별 함수입니다.
이 함수는 플랫폼에서 정의한 임의의 에포크 이후 경과된 시간(밀리초)을 반환할 것으로 예상됩니다. 플랫폼 구현은 시스템 재부팅 사이에 계속해서 증가하는 (즉 래핑하지 않음) 값을 반환해야 합니다. 또한, 기본 시간 소스는 절전 모드 해제 시 다시 시작할 필요가 없는 시스템 절전 모드 중에 계속 틱해야 합니다.
이 함수에서 반환된 시간의 에포크는 GetClock_Monotonic()을 포함한 다른 GetClock... 함수의 에포크와 동일할 필요가 없습니다.
이 함수는 스레딩을 사용하는 모든 플랫폼에서 스레드로부터 안전할 것으로 예상됩니다.
세부정보 | |
---|---|
반환 |
임의의 플랫폼에서 정의한 에포크 이후 경과된 시간(밀리초)입니다.
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
마이크로초 단위의 Unix 시간 형식으로 현재 실제 (상용) 시간을 가져오기 위한 플랫폼별 함수입니다.
이 함수는 마이크로초 단위로 조정된 Unix 시간 값으로 표현되는 로컬 플랫폼의 현재 실시간 개념을 반환해야 합니다. 기본 시계는 최소 1초 이상의 속도 (값 1,000,000)로 틱해야 하지만 더 빠르게 틱할 수 있습니다.
실시간 추적이 가능한 플랫폼에서 GetClock_RealTime()은 시스템이 실시간과 동기화되지 않을 때마다 WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED 오류를 반환해야 합니다.
실시간 추적을 할 수 없는 플랫폼은 GetClock_RealTime() 함수를 구현해서는 안 됩니다. 이에 따라 실시간 액세스에 의존하는 기능의 링크 시간 장애가 강제로 발생합니다. 또는 이러한 플랫폼에서 WEAVE_SYSTEM_ERROR_NOT_SUPPORTED 오류를 반환하는 GetClock_RealTime()의 구현을 제공할 수도 있습니다.
이 함수는 스레딩을 사용하는 모든 플랫폼에서 스레드로부터 안전할 것으로 예상됩니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
현재 실제 (상용) 시간을 밀리초 Unix 시간 형식으로 가져오기 위한 플랫폼별 함수입니다.
이 함수는 로컬 플랫폼의 현재 실시간 개념(밀리초 단위로 조정된 Unix 시간 값으로 표현됨)을 반환해야 합니다.
예상되는 동작에 대한 자세한 내용은 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는 이 함수를 호출하여 로컬 플랫폼의 현재 실시간 개념을 설정합니다. 새로운 현재 시간은 마이크로초 단위의 Unix 시간 값으로 표현됩니다.
일단 설정되면 기본 플랫폼 시계가 최소 1초의 단위로 실시간을 추적해야 합니다.
실시간 추적을 지원하는 플랫폼에서 SetClock_RealTime() 함수는 호출하는 애플리케이션에 현재 시간을 설정할 권한이 없으면 WEAVE_SYSTEM_ERROR_ACCESS_DENIED 오류를 반환해야 합니다.
실시간 추적을 할 수 없거나 실시간 설정 기능을 제공하지 않는 플랫폼은 SetClock_RealTime() 함수를 구현해서는 안 됩니다. 따라서 실시간 설정에 의존하는 기능의 링크 타임 장애가 발생합니다. 또는 이러한 플랫폼에서 WEAVE_SYSTEM_ERROR_NOT_SUPPORTED 오류를 반환하는 SetClock_RealTime()의 구현을 제공할 수도 있습니다.
이 함수는 스레딩을 사용하는 모든 플랫폼에서 스레드로부터 안전할 것으로 예상됩니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
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 시스템 레이어 사전 초기화 후크입니다.
이는 전처리기 정의 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를 실행하고 그렇지 않은 경우 종료 실패 이유를 나타내는 특정 오류입니다. 성공하지 못한 상태가 반환되면 종료가 취소됩니다.
|