O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

nl::Ble::BleLayer

#include <src/ble/BleLayer.h>

Essa classe oferece uma interface para uma única linha de execução mover os dados pela pilha usando as funções de interface da plataforma BleLayer ou, por meio de um objeto WeaveConnection associado a um BLEEndPoint.

Resumo

Há duas maneiras de associar uma WeaveConnection (definida pela WeaveMessageLayer) a uma conexão BLE:

Primeiro, o aplicativo pode receber passivamente uma conexão BLE de entrada e entregar a BLE_CONNECTION_OBJECT específica da plataforma gerada por essa confirmação para BleLayer por meio da função de interface de plataforma correspondente. Isso faz com que BleLayer encapsule o BLE_CONNECTION_OBJECT em um BLEEndPoint e notifique a WeaveMessageLayer que uma nova conectividade BLE foi recebida. A camada de mensagem encapsula o novo objeto BLEEndPoint em uma WeaveConnection e envia esse objeto ao aplicativo pelo callback OnConnectionReceived da camada de mensagem.

Em segundo lugar, o aplicativo pode formar uma conexão BLE ativa, por exemplo, ao se conectar a um periférico BLE. Em seguida, ele cria um novo WeaveConnection por meio da WeaveMessageLayer, atribui um tipo de autenticação a essa conexão e o vincula a BLE_CONNECTION_OBJECT para a nova conexão BLE via WeaveConnection::ConnectBle. Em seguida, essa função estabelece o tipo de sessão segura especificada pela variável de membro do tipo de autenticação WeaveConnection'.

Herança

Subclasses conhecidas:
nl::Weave::DeviceLayer::Internal::BLEManagerImpl
nl::Weave::DeviceLayer::Internal::BLEManagerImpl
nl::Weave::DeviceLayer::Internal::BLEManagerImpl

Construtores e destruidores

BleLayer(void)

Tipos públicos

@14 tipo enumerado
BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint) typedef
void(*

Atributos públicos

OnWeaveBleConnectReceived
BleConnectionReceivedFunct
mAppState
void *
mState
enum nl::Ble::BleLayer::@14
[SOMENTE LEITURA] Estado atual

Funções públicas

HandleConnectionError(BLE_CONNECTION_OBJECT connObj, BLE_ERROR err)
void
HandleIndicationConfirmation(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Chamada quando uma indicação pendente do GATT recebe uma confirmação de recebimento positiva.
HandleIndicationReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
Chamada quando uma indicação de GATT é recebida.
HandleReadReceived(BLE_CONNECTION_OBJECT connObj, BLE_READ_REQUEST_CONTEXT requestContext, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Chamada quando uma solicitação de leitura do GATT é recebida.
HandleSubscribeComplete(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Chamada quando uma solicitação de assinatura GATT é bem-sucedida.
HandleSubscribeReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
HandleUnsubscribeComplete(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Chamada quando uma solicitação de cancelamento de assinatura do GATT é bem-sucedida.
HandleUnsubscribeReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
HandleWriteConfirmation(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Chamada quando uma solicitação de gravação GATT pendente recebe uma confirmação de recebimento positiva.
HandleWriteReceived(BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
Chamada quando uma solicitação de gravação do GATT é recebida.
Init(BlePlatformDelegate *platformDelegate, BleApplicationDelegate *appDelegate, Weave::System::Layer *systemLayer)
NewBleEndPoint(BLEEndPoint **retEndPoint, BLE_CONNECTION_OBJECT connObj, BleRole role, bool autoClose)
ScheduleWork(nl::Weave::System::Layer::TimerCompleteFunct aComplete, void *aAppState)
nl::Weave::System::Error
Funções da interface de plataforma:
Shutdown(void)

Tipos públicos

14

 @14

FunilReceivedRecebict

void(* BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint)

Atributos públicos

OnWeaveBleConnectReceived

BleConnectionReceivedFunct OnWeaveBleConnectReceived

Estado do aplicativo

void * mAppState

mState

enum nl::Ble::BleLayer::@14 mState

[SOMENTE LEITURA] Estado atual

Funções públicas

Camada BleLayer

 BleLayer(
  void
)

HandleConnectionError

void HandleConnectionError(
  BLE_CONNECTION_OBJECT connObj,
  BLE_ERROR err
)

HandleIndicationConfirmação

bool HandleIndicationConfirmation(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

Chamada quando uma indicação pendente do GATT recebe uma confirmação de recebimento positiva.

HandleIndicationReceived

bool HandleIndicationReceived(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId,
  PacketBuffer *pBuf
)

Chamada quando uma indicação de GATT é recebida.

HandleReadReceived

bool HandleReadReceived(
  BLE_CONNECTION_OBJECT connObj,
  BLE_READ_REQUEST_CONTEXT requestContext,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

Chamada quando uma solicitação de leitura do GATT é recebida.

A plataforma precisa chamar essa função quando alguma operação anterior realizada pela BleLayer pelo BleAdapter falhar, como uma solicitação de gravação característica ou tentativa de assinatura, ou quando uma conexão BLE for encerrada.

Na maioria dos casos, isso fará com que o Weave feche o WeaveConnection associado e informe à plataforma que ela abandonou a conexão BLE subjacente.

OBSERVAÇÃO: se o aplicativo fechar explicitamente uma conexão BLE com um WeaveConnection associado para que o fechamento de conexão BLE não gere um upcall para o Weave, o HandleConnectionError precisará ser chamado com err = BLE_ERROR_APP_CLOSED_CONNECTION para evitar o vazamento dessa WeaveConnection e do objeto de ponto final.

HandleSubscribeComplete

bool HandleSubscribeComplete(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

Chamada quando uma solicitação de assinatura GATT é bem-sucedida.

A plataforma precisa chamar essa função quando uma assinatura do GATT é solicitada em qualquer característica de serviço do Weave, ou seja, quando uma assinatura do GATT existente em uma característica do serviço do Weave é cancelada.

HandleSubscribeReceived

bool HandleSubscribeReceived(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

HandleCancelComplete

bool HandleUnsubscribeComplete(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

Chamada quando uma solicitação de cancelamento de assinatura do GATT é bem-sucedida.

HandleCancelReceived

bool HandleUnsubscribeReceived(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

HandleWriteConfirmação

bool HandleWriteConfirmation(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId
)

Chamada quando uma solicitação de gravação GATT pendente recebe uma confirmação de recebimento positiva.

HandleWriteReceived

bool HandleWriteReceived(
  BLE_CONNECTION_OBJECT connObj,
  const WeaveBleUUID *svcId,
  const WeaveBleUUID *charId,
  PacketBuffer *pBuf
)

Chamada quando uma solicitação de gravação do GATT é recebida.

Init

BLE_ERROR Init(
  BlePlatformDelegate *platformDelegate,
  BleApplicationDelegate *appDelegate,
  Weave::System::Layer *systemLayer
)

NewBleEndPoint

BLE_ERROR NewBleEndPoint(
  BLEEndPoint **retEndPoint,
  BLE_CONNECTION_OBJECT connObj,
  BleRole role,
  bool autoClose
)

Agendartrabalho

nl::Weave::System::Error ScheduleWork(
  nl::Weave::System::Layer::TimerCompleteFunct aComplete,
  void *aAppState
)

Funções da interface de plataforma:

Convenções de chamadas: o Weave assume a propriedade dos pacotesBuffers recebidos por meio dessas funções e os libera ou transmite a propriedade para a pilha.

Além de cada chamada, nenhuma garantia é fornecida quanto à vida útil dos argumentos UUID.

Um valor de retorno 'true' significa que a pilha do Weave processou a mensagem ou a indicação de estado correspondente. 'false' significa que a pilha do Weave falhou ou optou por não lidar com isso. No caso de "#39;false",' a pilha do Weave não terá liberado ou assumido a propriedade de qualquer argumento do PackageBuffer. Esse contrato permite que a plataforma transmita eventos BLE ao Weave sem precisar saber quais características são interessantes para ele.

A plataforma precisa chamar essa função quando uma assinatura do GATT for estabelecida para qualquer característica de serviço do Weave.

Se essa função retornar "true", o Weave aceitará a conexão BLE e a encapsulou em um objeto WeaveConnection. Se o Weave aceitar uma conexão BLE, a plataforma PRECISA notificar o Weave se a assinatura for cancelada, a conexão BLE subjacente for encerrada ou a WeaveConnection associada nunca será encerrada ou liberada.

Encerramento

BLE_ERROR Shutdown(
  void
)