nl :: Tejido:: Perfiles: DataManagement_Legacy :: DMClient

#include <src/lib/profiles/data-management/Legacy/DMClient.h>

La clase base abstracta para clientes WDM específicos de la aplicación.

Resumen

DMClient es el cliente WDM estándar. La implementación incluye opcionalmente suscripción / notificación. Es una mezcla de la DM ProtocolEngine clase, que se ocupa de las comunicaciones manivela-torno, y la totalidad abstracta ClientDataManager clase, con algunos de los métodos relacionada con la suscripción implementadas de manera que las capas superiores no tienen que preocuparse de ellos.

Los manejadores de tareas relacionados con la suscripción actúan principalmente como un adaptador delgada sobre la ClientNotifier objeto. Los implementadores de subclase deben tener cuidado de llamar a los métodos de superclase relevantes para hacer girar el administrador de suscripciones.

DMClient métodos de petición tienen generalmente de 2 firmas, una con un ID de nodo de destino explícita y el otro con un destino especificado. En cualquier caso, la capacidad de enviar un mensaje a un editor depende de un enlace preexistente en el cliente pero, en el primer caso, el ID de destino está destinado a seleccionar entre varios destinos vinculados y, en el segundo caso, el primero El elemento de la tabla de encuadernación está seleccionado de forma predeterminada. Esto es útil, por ejemplo, si el cliente solo estará vinculado a un único editor.

Herencia

Hereda de:
  nl :: Weave :: Profiles :: DataManagement_Legacy :: ProtocolEngine
  nl :: Weave :: Profiles :: DataManagement_Legacy :: ClientDataManager

Constructores y Destructores

DMClient (void)
El constructor por defecto para DMClient objetos.
~DMClient (void)
El destructor para DMClient objetos.
ViewRequest (const uint64_t & aDestinationId, ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite una vista de los datos publicados.
ViewRequest ( ReferencedTLVData & aPathList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite una vista de los datos del editor predeterminado.
UpdateRequest (const uint64_t & aDestinationId, ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite una actualización de los datos publicados.
UpdateRequest ( ReferencedTLVData & aDataList, uint16_t aTxnId, uint32_t aTimeout)
virtual WEAVE_ERROR
Solicite una actualización de los datos del editor predeterminado.

Atributos protegidos

mUpdatePool [kUpdatePoolSize]
mViewPool [kViewPoolSize]

Funciones publicas

CancelTransactionRequest (uint16_t aTxnId, WEAVE_ERROR aError)
Solicite que se cancele una transacción en ejecución.
Clear (void)
virtual void
Desactive el estado interno asociado con un DMClient objeto.
Finalize (void)
virtual void
Cerrar una operación DMClient .
IncompleteIndication ( Binding *aBinding, StatusReport & aReport)
virtual void
Manejar el "incompleto" de una encuadernación en uso por el cliente.

Funciones protegidas

NewUpdate (void)
NewView (void)
View *

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Solicite una vista de los datos publicados.

Solicite una vista de los datos que residen y administran un editor remoto específico.

Detalles
Parámetros
[in] aDestinationId
Una referencia al ID de nodo de 64 bits del editor remoto.
[in] aPathList
Una referencia a un ReferencedTLVData objeto que contiene una lista de rutas de codificado-TLV indicando los datos solicitados.
[in] aTxnId
Un identificador para la transacción WDM configurada para administrar esta operación de vista.
[in] aTimeout
Un tiempo máximo en milisegundos para esperar la respuesta de la vista.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_NO_MEMORY
Si no se pudo asignar una transacción.
Devoluciones
De lo contrario, un WEAVE_ERROR que refleja el fracaso para inicializar o iniciar la transacción.

ViewRequest

virtual WEAVE_ERROR ViewRequest(
  ReferencedTLVData & aPathList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Solicite una vista de los datos del editor predeterminado.

Solicite una vista de los datos que residen y administran el editor "predeterminado", es decir, el primer (o único) editor en la tabla de enlace del cliente.

Detalles
Parámetros
[in] aPathList
Una referencia a un ReferencedTLVData objeto que contiene una lista de rutas de codificado-TLV indicando los datos solicitados.
[in] aTxnId
Un identificador para la transacción WDM configurada para administrar esta operación de vista.
[in] aTimeout
Un tiempo máximo en milisegundos para esperar la respuesta de la vista.
Valores devueltos
WEAVE_NO_ERROR
Sobre el éxito.
WEAVE_ERROR_NO_MEMORY
Si no se pudo asignar una transacción.
Devoluciones
De lo contrario, un WEAVE_ERROR que refleja el fracaso para inicializar o iniciar la transacción.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  const uint64_t & aDestinationId,
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Solicite una actualización de los datos publicados.

Solicite que un editor remoto actualice los datos bajo administración.

Detalles
Parámetros
[in] aDestinationId
Una referencia al ID de nodo de 64 bits del editor remoto al que se envía la solicitud.
[in] aDataList
Una referencia a un ReferencedTLVData objeto que contiene una lista de datos codificado-TLV que contiene una representación de la actualización incluyendo los caminos para que la actualización se va a aplicar.
[in] aTxnId
Un identificador de la transacción configurada para gestionar la solicitud de actualización.
[in] aTimeout
Un tiempo máximo en milisegundos para esperar el informe de estado correspondiente.
Devoluciones
WEAVE_NO_ERROR el éxito o WEAVE_ERROR_NO_MEMORY si una transacción de actualización no se ha podido asignar. De lo contrario, devolver un WEAVE_ERROR que refleja un fallo de actualización.

UpdateRequest

virtual WEAVE_ERROR UpdateRequest(
  ReferencedTLVData & aDataList,
  uint16_t aTxnId,
  uint32_t aTimeout
)

Solicite una actualización de los datos del editor predeterminado.

Solicite que un editor remoto actualice los datos bajo administración. Esta versión dirige la solicitud al editor que es el destino del enlace predeterminado del cliente.

Detalles
Parámetros
[in] aDataList
Una referencia a un ReferencedTLVData objeto que contiene una lista de datos codificado-TLV que contiene una representación de la actualización incluyendo los caminos para que la actualización se va a aplicar.
[in] aTxnId
Un identificador de la transacción configurada para gestionar la solicitud de actualización.
[in] aTimeout
Un tiempo máximo en milisegundos para esperar el informe de estado correspondiente.
Devoluciones
WEAVE_NO_ERROR el éxito o WEAVE_ERROR_NO_MEMORY si una transacción de actualización no se ha podido asignar. De lo contrario, devolver un WEAVE_ERROR que refleja un fallo de actualización.

Atributos protegidos

mUpdatePool

Update mUpdatePool[kUpdatePoolSize]

mViewPool

View mViewPool[kViewPoolSize]

Funciones publicas

CancelTransactionRequest

WEAVE_ERROR CancelTransactionRequest(
  uint16_t aTxnId,
  WEAVE_ERROR aError
)

Solicite que se cancele una transacción en ejecución.

Este método no genera tráfico de red, solo libera los recursos asignados para las transacciones especificadas

Detalles
Parámetros
[in] aTxnId
El número de la transacción que se cancelará. Si se proporciona kTransactionIdNotSpecified, se cancelarán todas las transacciones.
[in] aError
El WEAVE_ERROR para informar al cancelar la transacción.
Devoluciones
WEAVE_NO_ERROR en caso de éxito o una WEAVE_ERROR que refleja un fracaso de cancelar la transacción.

Claro

virtual void Clear(
  void
)

Desactive el estado interno asociado con un DMClient objeto.

En particular, este método borra todos los grupos de transacciones de los clientes. Para los clientes que han estado en uso el Finalizar () método es preferible, ya que también se cancela suscripciones y se limpia la transacción y tablas de unión.

Ver también:
Finalizar()

DMClient

 DMClient(
  void
)

El constructor por defecto para DMClient objetos.

Borra todo el estado interno. A DMClient requiere más de inicialización con Init () antes de su uso.

Finalizar

virtual void Finalize(
  void
)

Cerrar una operación DMClient .

Borra todo el estado operativo asociado con el cliente y elimina todas las suscripciones relacionadas del notificador. Después de llamar a Finalizar () un DMClient puede reinicializarse mediante una llamada telefónica Init (). Finalize () es invocado por el DMClient destructor, pero puede ser llamado en el caso en que un DMClient requiere limpieza, por ejemplo, en caso de fallo o cierre temporal, pero puede necesitar ser reconstituido en algún momento posterior.

Indicación incompleta

virtual void IncompleteIndication(
  Binding *aBinding,
  StatusReport & aReport
)

Manejar el "incompleto" de una encuadernación en uso por el cliente.

Cuando un enlace falla inesperadamente, por ejemplo, si se cierra la conexión involucrada en el enlace, se llama a este método.

Detalles
Parámetros
[in] aBinding
Un puntero a la encuadernación que se ha convertido incompleta.
[in] aReport
Una referencia a un informe de estado que explica la razón del error.

~ DMClient

virtual  ~DMClient(
  void
)

El destructor para DMClient objetos.

Borra todo el estado interno y, si es necesario, cancela las suscripciones pendientes.

Funciones protegidas

Nueva actualización

Update * NewUpdate(
  void
)

Nueva vista

View * NewView(
  void
)