nl:: Weave:: System:: Platform:: Layer
  Resumo
        Funções | 
    |
|---|---|
        DidInit(Layer & aLayer, void *aContext, Error aStatus)
       | 
      
        NL_DLL_EXPORT void
        Este é um gancho de camada de pós-inicialização do sistema Weave específico da plataforma.  
       | 
    
        DidShutdown(Layer & aLayer, void *aContext, Error aStatus)
       | 
      
        NL_DLL_EXPORT void
        Este é um gancho de pré-encerramento 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 horário monotônico do sistema em microssegundos.  
       | 
    
        GetClock_MonotonicHiRes(void)
       | 
      
        uint64_t
        Função específica da plataforma para obter o tempo monotônico de alta resolução do sistema em microssegundos.  
       | 
    
        GetClock_MonotonicMS(void)
       | 
      
        uint64_t
        Função específica da plataforma para receber o tempo monotônico do sistema em milissegundos.  
       | 
    
        GetClock_RealTime(uint64_t & curTime)
       | 
      
        Error
        Função específica da plataforma para obter a hora real (civil) atual em formato de hora Unix de microssegundos.  
       | 
    
        GetClock_RealTimeMS(uint64_t & curTimeMS)
       | 
      
        Error
        Função específica da plataforma para receber o horário real (civil) atual no formato de tempo Unix de milissegundos.  
       | 
    
        PostEvent(Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument)
       | 
      
        NL_DLL_EXPORT Error
        Este é um gancho de mensagem / evento específico da plataforma.  
       | 
    
        SetClock_RealTime(uint64_t newCurTime)
       | 
      
        Error
        Função específica da plataforma para definir o horário real (civil) atual.  
       | 
    
        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 gancho de pré-inicialização da camada do sistema Weave específico da plataforma.  
       | 
    
        WillShutdown(Layer & aLayer, void *aContext)
       | 
      
        NL_DLL_EXPORT Error
        Este é um gancho de pré-encerramento da Camada do sistema Weave específico da plataforma.  
       | 
    
Funções
DidInit
NL_DLL_EXPORT void DidInit( Layer & aLayer, void *aContext, Error aStatus )
Este é um gancho de camada de pós-inicialização do sistema Weave específico da plataforma.
Isso pode ser substituído pela definição da definição do pré-processador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
| Detalhes | |||||||
|---|---|---|---|---|---|---|---|
| Parâmetros | 
              
  | 
          ||||||
DidShutdown
NL_DLL_EXPORT void DidShutdown( Layer & aLayer, void *aContext, Error aStatus )
Este é um gancho de pré-encerramento da Camada do sistema Weave específico da plataforma.
Isso pode ser substituído pela definição da definição do pré-processador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
| Detalhes | |||||||
|---|---|---|---|---|---|---|---|
| Parâmetros | 
              
  | 
          ||||||
| Retornos | 
               WEAVE_SYSTEM_NO_ERROR se tiver sucesso; caso contrário, um erro específico indicando o motivo da falha no encerramento. Se você retornar um status de falha, o encerramento será cancelado.  
             | 
          ||||||
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 substituído pela definição da definição do pré-processador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Isso envia o evento especificado para o processamento, desmarcando o tipo e os argumentos do evento para entrega ao sistema 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 substituído pela definição da definição do pré-processador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Isso afeta um loop de eventos, aguardando uma fila que atende a essa instância, extraindo eventos dessa fila e, em seguida, enviando-os para manipulação.
| Detalhes | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Parâmetros | 
              
  | 
          ||||||||
| Valores de retorno | 
              
  | 
          ||||||||
GetClock_Monotonic
uint64_t GetClock_Monotonic( void )
Função específica da plataforma para receber o horário monotônico do sistema em microssegundos.
Espera-se que essa função retorne o tempo decorrido em microssegundos desde uma época arbitrária definida pela plataforma. As implementações da plataforma são obrigadas a retornar um valor que esteja sempre aumentando (ou seja, nunca encapsulando) entre as reinicializações do sistema. Além disso, a fonte de tempo subjacente precisa ser ativada continuamente durante todos os modos de suspensão do sistema que não envolvam reinicialização após a ativação.
A época para o tempo retornada por essa função não precisa ser a mesma de qualquer outra função 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 | |
|---|---|
| Retornos | 
               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 obter o tempo monotônico de alta resolução do sistema em microssegundos.
Espera-se que essa função retorne o tempo decorrido em microssegundos desde uma época arbitrária definida pela plataforma. Os valores retornados por GetClock_MonotonicHiRes() precisam estar sempre crescentes (ou seja, nunca encapsular). No entanto, o timer não precisa ser ativado continuamente durante os estados de suspensão profunda do sistema.
As plataformas são incentivadas a implementar GetClock_MonotonicHiRes() usando um cronômetro de alta resolução, que não esteja sujeito a ajustes graduais de relógio (as alterações). Em plataformas sem esse cronômetro, GetClock_MonotonicHiRes() pode retornar o mesmo valor que GetClock_Monotonic().
O período para tempo retornado por essa função não precisa ser o mesmo de nenhuma das outras 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 | |
|---|---|
| Retornos | 
               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 monotônico do sistema em milissegundos.
Espera-se que essa função retorne o tempo decorrido em milissegundos desde um período arbitrário definido pela plataforma. As implementações da plataforma são obrigadas a retornar um valor que esteja sempre aumentando (ou seja, nunca encapsulando) entre as reinicializações do sistema. Além disso, a fonte de tempo subjacente precisa ser ativada continuamente durante todos os modos de suspensão do sistema que não envolvam reinicialização após a ativação.
O período para o tempo retornado por essa função não precisa ser o mesmo 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 | |
|---|---|
| Retornos | 
               Tempo decorrido em milissegundos desde uma época arbitrária definida pela plataforma.  
             | 
          
GetClock_RealTime
Error GetClock_RealTime( uint64_t & curTime )
Função específica da plataforma para obter a hora real (civil) atual em formato de hora Unix de microssegundos.
Espera-se que essa função retorne a noção atual da plataforma local sobre o tempo real, expressa como um valor de tempo Unix dimensionado para microssegundos. O relógio subjacente precisa correr a uma velocidade de pelo menos segundos inteiros (valores de 1.000.000), mas pode correr mais rápido.
Nas plataformas capazes de rastrear em tempo real, GetClock_RealTime() deve retornar o erro WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED sempre que o sistema não estiver sincronizado com o tempo real.
As plataformas que são incapazes de acompanhar em tempo real não devem implementar a função GetClock_RealTime(), forçando, assim, falhas no tempo de link dos recursos que dependem do acesso em tempo real. Alternativamente, 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 no formato de tempo Unix de milissegundos.
Espera-se que essa função retorne a noção atual da plataforma local sobre o tempo real, expressa como um valor de tempo Unix dimensionado para milissegundos.
Consulte a documentação de GetClock_RealTime() para obter detalhes sobre o comportamento esperado.
| Detalhes | |||||||
|---|---|---|---|---|---|---|---|
| Parâmetros | 
              
  | 
          ||||||
| Valores de retorno | 
              
  | 
          ||||||
PostEvent
NL_DLL_EXPORT Error PostEvent( Layer & aLayer, void *aContext, Object & aTarget, EventType aType, uintptr_t aArgument )
Este é um gancho de mensagem / evento específico da plataforma.
Isso pode ser substituído pela definição da definição do pré-processador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_EVENT_FUNCTIONS.
Publica um evento / mensagem do tipo especificado com o argumento fornecido na fila de eventos / mensagens específica da plataforma desta instância.
| Detalhes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Parâmetros | 
              
  | 
          ||||||||||
| Retornos | 
               WEAVE_SYSTEM_NO_ERROR se tiver sucesso; caso contrário, um erro específico indicando o motivo da falha na inicialização.  
             | 
          ||||||||||
SetClock_RealTime
Error SetClock_RealTime( uint64_t newCurTime )
Função específica da plataforma para definir o horário real (civil) atual.
O Weave chama essa função para definir a noção atual da plataforma local sobre o tempo real. O novo horário atual é expresso como um valor de hora Unix dimensionado para microssegundos.
Depois de definido, o relógio da plataforma subjacente rastreará o tempo real com uma granularidade de pelo menos segundos inteiros.
Em plataformas compatíveis com rastreamento em tempo real, a função SetClock_RealTime() deve retornar o erro WEAVE_SYSTEM_ERROR_ACCESS_DENIED se o aplicativo que faz a chamada não tiver o privilégio para definir a hora atual.
Plataformas que são incapazes de rastrear em tempo real ou que não oferecem a capacidade de definir tempo real não devem implementar a função SetClock_RealTime(), forçando, assim, falhas no tempo de link dos recursos que dependem dessa definição. De forma 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 substituído pela definição da definição do 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 gancho de pré-inicialização da camada do sistema Weave específico da plataforma.
Isso pode ser substituído pela definição da definição do pré-processador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
| Detalhes | |||||
|---|---|---|---|---|---|
| Parâmetros | 
              
  | 
          ||||
| Retornos | 
               WEAVE_SYSTEM_NO_ERROR se tiver sucesso; caso contrário, um erro específico indicando o motivo da falha na inicialização. Retornar um status de falha cancela a inicialização.  
             | 
          ||||
WillShutdown
NL_DLL_EXPORT Error WillShutdown( Layer & aLayer, void *aContext )
Este é um gancho de pré-encerramento da Camada do sistema Weave específico da plataforma.
Isso pode ser substituído pela definição da definição do pré-processador, WEAVE_SYSTEM_CONFIG_PLATFORM_PROVIDES_XTOR_FUNCTIONS.
| Detalhes | |||||
|---|---|---|---|---|---|
| Parâmetros | 
              
  | 
          ||||
| Retornos | 
               WEAVE_SYSTEM_NO_ERROR se tiver sucesso; caso contrário, um erro específico indicando o motivo da falha no encerramento. Se você retornar um status de falha, o encerramento será cancelado.  
             | 
          ||||