nl:: Weave:: System:: Platform:: camada
Resumo
Functions |
|
---|---|
DidInit(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Este é um hook de pós-inicialização do sistema específico da plataforma.
|
DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
|
NL_DLL_EXPORT void
Este é um hook de pré-desligamento da Camada do sistema Weave específico da plataforma.
|
DispatchEvent(Layer & aLayer, void *aContext, Event aEvent)
|
NL_DLL_EXPORT Error
Este é um gancho de envio de evento / mensagem específico da plataforma.
|
DispatchEvents(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Este é um gancho de envio de evento / mensagem específico da plataforma.
|
GetClock_Monotonic(void)
|
uint64_t
Função específica da plataforma para receber o tempo do sistema monotônico em microssegundos.
|
GetClock_MonotonicHiRes(void)
|
uint64_t
Função específica da plataforma para acessar o tempo de sistema monotônico de alta resolução em microssegundos.
|
GetClock_MonotonicMS(void)
|
uint64_t
Função específica da plataforma para receber o tempo do sistema monotônico em milissegundos.
|
GetClock_RealTime(uint64_t & curTime)
|
Error
Função específica da plataforma para ver a hora real (civil) atual em formato de tempo Unix de microssegundos.
|
GetClock_RealTimeMS(uint64_t & curTimeMS)
|
Error
Função específica da plataforma para receber o horário real (civil) atual em formato de tempo Unix em milissegundos.
|
PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
|
NL_DLL_EXPORT Error
Este é um hook de evento / mensagem de mensagem específico da plataforma.
|
SetClock_RealTime(uint64_t newCurTime)
|
Error
Função específica da plataforma para definir o horário real (civil).
|
StartTimer(Layer & aLayer, void *aContext, uint32_t aMilliseconds)
|
NL_DLL_EXPORT Error
Este é um gancho de envio de evento / mensagem específico da plataforma.
|
WillInit(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Este é um hook de pré-inicialização do Weave do sistema Weave específico da plataforma.
|
WillShutdown(Layer & aLayer, void *aContext)
|
NL_DLL_EXPORT Error
Este é um hook de pré-desligamento da Camada do sistema Weave específico da plataforma.
|
Functions
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
Este é um hook de pós-inicialização do sistema específico da plataforma.
Isso pode ser modificado atribuindo a definição de pré-processador WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FunctionS.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
Desligado
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
Este é um hook de pré-desligamento da Camada do sistema Weave específico da plataforma.
Isso pode ser modificado atribuindo a definição de pré-processador WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FunctionS.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
WEAVE_SYSTEM_NO_ERROR em caso de sucesso; caso contrário, um erro específico que indica o motivo da falha de encerramento. Retornar um status sem sucesso cancelará o encerramento.
|
DispatchEvent
NL_DLL_EXPORT Error DispatchEvent( Layer & aLayer, void *aContext, Event aEvent )
Este é um gancho de envio de evento / mensagem específico da plataforma.
Isso pode ser modificado atribuindo a definição de pré-processador WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FunctionS.
Isso envia o evento especificado para manipulação, cancelando o gerenciamento do tipo e dos argumentos do evento para entregar ao sistema do Weave Layer::HandleEvent para o envio real.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
DispatchEvents
NL_DLL_EXPORT Error DispatchEvents( Layer & aLayer, void *aContext )
Este é um gancho de envio de evento / mensagem específico da plataforma.
Isso pode ser modificado atribuindo a definição de pré-processador WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FunctionS.
Isso afeta um loop de evento, aguardando em uma fila que atenda essa instância, retirando eventos dessa fila e enviando-os para gerenciamento.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
Função específica da plataforma para receber o tempo do sistema monotônico em microssegundos.
Essa função deve retornar o tempo decorrido em microssegundos desde uma época arbitrária definida pela plataforma. As implementações de plataforma são obrigadas a retornar um valor que está sempre aumentando (ou seja, nunca encerra) entre reinicializações do sistema. Além disso, a fonte de tempo subjacente é necessária para a marcação contínua durante qualquer modo de suspensão do sistema que não exija uma reinicialização após o despertar.
A época do tempo retornado por essa função não precisa ser igual à de qualquer uma das outras funções GetClock..., incluindo GetClock_MonotonicMS().
Espera-se que essa função seja segura para linhas de execução em qualquer plataforma que use linhas de execução.
Detalhes | |
---|---|
Retorna |
Tempo decorrido em microssegundos desde uma época arbitrária definida pela plataforma.
|
GetClock_MonotonicHiRes
uint64_t GetClock_MonotonicHiRes( void )
Função específica da plataforma para acessar o tempo de sistema monotônico de alta resolução em microssegundos.
Essa função deve retornar o tempo decorrido em microssegundos desde uma época arbitrária definida pela plataforma. Os valores retornados por GetClock_MonotonicHiRes() precisam ser crescentes (ou seja, nunca unir). No entanto, o timer subjacente não é acionado continuamente durante os estados de suspensão profunda do sistema.
Incentivamos a implementação da plataforma GetClock_MonotonicHiRes() com um timer de alta resolução que não está sujeito a ajustes graduais de relógio. Em plataformas sem esse timer, GetClock_MonotonicHiRes() pode retornar o mesmo valor que GetClock_Monotonic().
A época do tempo retornado por essa função não precisa ser igual a qualquer outra das funções GetClock...
Espera-se que essa função seja segura para linhas de execução em qualquer plataforma que use linhas de execução.
Detalhes | |
---|---|
Retorna |
Tempo decorrido em microssegundos desde uma época arbitrária definida pela plataforma.
|
GetClock_MonotonicMS
uint64_t GetClock_MonotonicMS( void )
Função específica da plataforma para receber o tempo do sistema monotônico em milissegundos.
Essa função deve retornar o tempo decorrido em milissegundos desde uma época arbitrária definida pela plataforma. As implementações de plataforma são obrigadas a retornar um valor que está sempre aumentando (ou seja, nunca encerra) entre reinicializações do sistema. Além disso, a fonte de tempo subjacente é necessária para a marcação contínua durante qualquer modo de suspensão do sistema que não exija uma reinicialização após o despertar.
A época do tempo retornado por essa função não precisa ser igual a de nenhuma das outras funções GetClock..., incluindo GetClock_Monotonic().
Espera-se que essa função seja segura para linhas de execução em qualquer plataforma que use linhas de execução.
Detalhes | |
---|---|
Retorna |
Tempo decorrido em milissegundos desde uma época arbitrária e definida pela plataforma.
|
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
Função específica da plataforma para ver a hora real (civil) atual em formato de tempo Unix de microssegundos.
Essa função deve retornar a noção da plataforma local em tempo real, expressa como um valor de hora Unix em escala de microssegundos. O relógio subjacente é necessário para funcionar a uma taxa de pelo menos a segundos inteiros (valores de 1.000.000), mas pode demorar mais rapidamente.
Nas plataformas capazes de rastrear o tempo real, GetClock_RealTime() deve retornar o erro WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED sempre que o sistema estiver dessincronizado com o tempo real.
As plataformas incapazes de rastrear o tempo real não devem implementar a função GetClock_RealTime(), forçando falhas no tempo de vinculação dos recursos que dependem do acesso ao tempo real. Como alternativa, essas plataformas podem fornecer uma implementação de GetClock_RealTime() que retorna o erro WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.
Espera-se que essa função seja segura para linhas de execução em qualquer plataforma que use linhas de execução.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
GetClock_RealTimeMS
Error GetClock_RealTimeMS( uint64_t & curTimeMS )
Função específica da plataforma para receber o horário real (civil) atual em formato de tempo Unix em milissegundos.
Essa função deve retornar a noção da plataforma local em tempo real, expressa como um valor de hora Unix dimensionado em milissegundos.
Consulte a documentação do GetClock_RealTime() para ver detalhes sobre o comportamento esperado.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
Pós-evento
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
Este é um hook de evento / mensagem de mensagem específico da plataforma.
Isso pode ser modificado atribuindo a definição de pré-processador WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FunctionS.
Isso publica um evento / mensagem do tipo especificado com o argumento fornecido na fila de eventos / mensagens específica da plataforma.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Retorna |
WEAVE_SYSTEM_NO_ERROR no caso de sucesso; caso contrário, um erro específico que indica o motivo da falha de inicialização.
|
Relógio_de_relógio_real
Error SetClock_RealTime( uint64_t newCurTime )
Função específica da plataforma para definir o horário real (civil).
O Weave chama essa função para definir a noção da plataforma local em tempo real. O novo horário atual é expresso como um valor de horário Unix dimensionado para microssegundos.
Depois de definido, é esperado que o relógio da plataforma subjacente rastreie em tempo real com uma granularidade de pelo menos segundos inteiros.
Em plataformas que suportam o acompanhamento em tempo real, a função SetClock_RealTime() precisa retornar o erro WEAVE_SYSTEM_ERROR_ACCESS_DENIED se o aplicativo de chamada não tiver o privilégio para definir o horário atual.
As plataformas incapazes de rastrear o horário real ou que não oferecem a capacidade de definir o tempo real não devem implementar a função SetClock_RealTime(), forçando falhas no tempo de vinculação dos recursos que dependem da configuração em tempo real. Como alternativa, essas plataformas podem fornecer uma implementação de SetClock_RealTime() que retorna o erro WEAVE_SYSTEM_ERROR_NOT_SUPPORTED.
Espera-se que essa função seja segura para linhas de execução em qualquer plataforma que use linhas de execução.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
StartTimer
NL_DLL_EXPORT Error StartTimer( Layer & aLayer, void *aContext, uint32_t aMilliseconds )
Este é um gancho de envio de evento / mensagem específico da plataforma.
Isso pode ser modificado atribuindo a definição de pré-processador WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FunctionS.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Valores de retorno |
|
WillInit
NL_DLL_EXPORT Error WillInit( Layer & aLayer, void *aContext )
Este é um hook de pré-inicialização do Weave do sistema Weave específico da plataforma.
Isso pode ser modificado atribuindo a definição de pré-processador WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FunctionS.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
WEAVE_SYSTEM_NO_ERROR no caso de sucesso; caso contrário, um erro específico que indica o motivo da falha de inicialização. Se o status não for retornado, a inicialização será cancelada.
|
Desativação
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
Este é um hook de pré-desligamento da Camada do sistema Weave específico da plataforma.
Isso pode ser modificado atribuindo a definição de pré-processador WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FunctionS.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
WEAVE_SYSTEM_NO_ERROR em caso de sucesso; caso contrário, um erro específico que indica o motivo da falha de encerramento. Retornar um status sem sucesso cancelará o encerramento.
|