O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

nl :: Ble :: BleLayer

#include <src/ble/BleLayer.h>

Esta classe fornece uma interface para um único thread para direcionar dados tanto para cima na pilha por meio das funções de interface da plataforma BleLayer , quanto para baixo na pilha por meio de um objeto WeaveConnection associado a um BLEEndPoint .

Resumo

Existem duas maneiras de associar um WeaveConnection (definido pelo WeaveMessageLayer) a uma conexão BLE:

Primeiro, o aplicativo pode receber passivamente uma conexão BLE de entrada e entregar o BLE_CONNECTION_OBJECT específico da plataforma que esse recibo gera para o BleLayer por meio da função de interface de plataforma correspondente. Isso faz com que o BleLayer envolva o BLE_CONNECTION_OBJECT em um BLEEndPoint e notifique o WeaveMessageLayer de que uma nova conexão BLE foi recebida. A camada de mensagem então envolve o novo objeto BLEEndPoint em um WeaveConnection e entrega esse objeto ao aplicativo por meio do retorno de chamada OnConnectionReceived da camada de mensagem.

Em segundo lugar, o aplicativo pode formar ativamente uma conexão BLE de saída, por exemplo, conectando-se a um periférico BLE. Em seguida, ele cria uma nova WeaveConnection por meio de WeaveMessageLayer, atribui um tipo de autenticação a essa conexão e a vincula a BLE_CONNECTION_OBJECT para a nova conexão BLE por meio de WeaveConnection :: ConnectBle. Essa função então estabelece o tipo de sessão segura especificado pela variável de membro do tipo de autenticação do WeaveConnection.

Herança

Subclasses diretamente 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 enum
BleConnectionReceivedFunct )(BLEEndPoint *newEndPoint) typedef
void(*

Atributos públicos

OnWeaveBleConnectReceived
BleConnectionReceivedFunct
mAppState
void *
mState
enum nl::Ble::BleLayer::@14
[READ-ONLY] 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
Ligue quando uma indicação pendente do GATT receber uma confirmação de recebimento positiva.
HandleIndicationReceived ( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
Ligue quando uma indicação GATT for recebida.
HandleReadReceived ( BLE_CONNECTION_OBJECT connObj, BLE_READ_REQUEST_CONTEXT requestContext, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Chame quando uma solicitação de leitura GATT for recebida.
HandleSubscribeComplete ( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId)
bool
Chame quando uma solicitação de assinatura do GATT for 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
Chame quando uma solicitação de cancelamento de assinatura do GATT for 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
Ligue quando uma solicitação de gravação GATT pendente receber uma confirmação de recebimento positiva.
HandleWriteReceived ( BLE_CONNECTION_OBJECT connObj, const WeaveBleUUID *svcId, const WeaveBleUUID *charId, PacketBuffer *pBuf)
bool
Chame quando uma solicitação de gravação GATT for 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 de interface da plataforma:
Shutdown (void)

Tipos públicos

@ 14

 @14

BleConnectionReceivedFunct

void(* BleConnectionReceivedFunct)(BLEEndPoint *newEndPoint)

Atributos públicos

OnWeaveBleConnectReceived

BleConnectionReceivedFunct OnWeaveBleConnectReceived

mAppState

void * mAppState

mState

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

[READ-ONLY] Estado atual

Funções públicas

BleLayer

 BleLayer(
  void
)

HandleConnectionError

void HandleConnectionError(
  BLE_CONNECTION_OBJECT connObj,
  BLE_ERROR err
)

HandleIndicationConfirmation

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

Ligue quando uma indicação pendente do GATT receber uma confirmação de recebimento positiva.

HandleIndicationReceived

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

Ligue quando uma indicação GATT for recebida.

HandleReadReceived

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

Chame quando uma solicitação de leitura GATT for recebida.

A plataforma deve chamar esta função quando qualquer operação anterior realizada pelo BleLayer via BleAdapter falhar, como uma solicitação de gravação de característica ou tentativa de assinatura, ou quando uma conexão BLE for fechada.

Na maioria dos casos, isso solicitará que o Weave feche o WeaveConnection associado e notifique essa plataforma de que abandonou a conexão BLE subjacente.

NOTA: se o aplicativo fecha explicitamente uma conexão BLE com um WeaveConnection associado de forma que o fechamento da conexão BLE não gere um upcall para Weave, HandleConnectionError deve ser chamado com err = BLE_ERROR_APP_CLOSED_CONNECTION para evitar o vazamento deste WeaveConnection e seu objeto de ponto final.

HandleSubscribeComplete

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

Chame quando uma solicitação de assinatura do GATT for bem-sucedida.

A plataforma deve chamar esta função quando um cancelamento de assinatura do GATT é solicitado em qualquer característica do serviço Weave, ou seja, quando uma assinatura existente do GATT em uma característica do serviço Weave é cancelada.

HandleSubscribeReceived

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

HandleUnsubscribeComplete

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

Chame quando uma solicitação de cancelamento de assinatura do GATT for bem-sucedida.

HandleUnsubscribeReceived

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

HandleWriteConfirmation

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

Ligue quando uma solicitação de gravação GATT pendente receber uma confirmação de recebimento positiva.

HandleWriteReceived

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

Chame quando uma solicitação de gravação GATT for recebida.

Iniciar

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
)

ScheduleWork

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

Funções de interface da plataforma:

Convenções de chamada: Weave assume a propriedade dos PacketBuffers recebidos por meio dessas funções e os liberará ou passará a propriedade para cima na pilha.

Além de cada chamada, nenhuma garantia é fornecida quanto ao tempo de vida dos argumentos UUID.

Um valor de retorno 'verdadeiro' significa que a pilha do Weave tratou com sucesso a mensagem ou indicação de estado correspondente. 'false' significa que a pilha do Weave falhou ou optou por não lidar com isso. No caso de 'falso', a pilha do Weave não terá liberado ou assumido a propriedade de quaisquer argumentos do PacketBuffer. Este contrato permite que a plataforma passe eventos BLE para a Weave sem precisar saber com quais características a Weave se preocupa.

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

Se esta função retornar verdadeiro, o Weave aceitou a conexão BLE e a envolveu em um objeto WeaveConnection. Se a Weave aceitar uma conexão BLE, a plataforma DEVE notificar a Weave se a assinatura for cancelada ou se a conexão BLE subjacente for fechada, ou a WeaveConnection associada nunca será fechada ou liberada.

Desligar

BLE_ERROR Shutdown(
  void
)