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 combinación de la clase DM ProtocolEngine , que maneja el cambio de manivela de las comunicaciones, y la clase ClientDataManager totalmente abstracta, con algunos de los métodos relacionados con la suscripción implementados para que las capas superiores no tengan que preocuparse por ellos.
Los controladores para tareas relacionadas con la suscripción actúan principalmente como un adaptador delgado sobre el objeto ClientNotifier . Los implementadores de subclase deben tener cuidado de llamar a los métodos de superclase relevantes para hacer girar el administrador de suscripciones.
Los métodos de solicitud de DMClient generalmente tienen 2 firmas, una con un ID de nodo de destino explícito y la otra con un destino específico. 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 predeterminado para los objetos DMClient . | |
~DMClient (void) El destructor de objetos DMClient . |
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 Borre el estado interno asociado con un objeto DMClient . |
Finalize (void) | virtual void Apague un DMClient operativo. |
IncompleteIndication ( Binding *aBinding, StatusReport & aReport) | virtual void Manejar el "incompleto" de un enlace en uso por el cliente. |
Funciones protegidas | |
---|---|
NewUpdate (void) | Update * |
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 |
| ||||||||
Valores devueltos |
| ||||||||
Devoluciones | De lo contrario, un WEAVE_ERROR que refleja la falla al 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 vinculación del cliente.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
| ||||||
Devoluciones | De lo contrario, un WEAVE_ERROR que refleja la falla al 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 administrados.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito o WEAVE_ERROR_NO_MEMORY si no se pudo asignar una transacción de actualización. De lo contrario, devuelve un WEAVE_ERROR que refleja un error 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 administrados. Esta versión dirige la solicitud al editor que es el destino del enlace predeterminado del cliente.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito o WEAVE_ERROR_NO_MEMORY si no se pudo asignar una transacción de actualización. De lo contrario, devuelve un WEAVE_ERROR que refleja un error 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 |
| ||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito o un WEAVE_ERROR que refleja un error al cancelar la transacción. |
Claro
virtual void Clear( void )
Borre el estado interno asociado con un objeto DMClient .
En particular, este método borra todos los grupos de transacciones del cliente. Para los clientes que han estado en uso, el método Finalize () es preferible, ya que también cancela las suscripciones y limpia las tablas de transacciones y enlaces.
Ver también:Finalizar()
DMClient
DMClient( void )
Finalizar
virtual void Finalize( void )
Apague un DMClient operativo.
Borra todo el estado operativo asociado con el cliente y elimina todas las suscripciones relacionadas del notificador. Después de una llamada a Finalize (), un DMClient puede reiniciarse simplemente llamando a Init (). Finalize () es invocado por el destructor DMClient, pero puede ser llamado en el caso de que un DMClient requiera limpieza, por ejemplo, en caso de falla o apagado temporal, pero es posible que deba reconstituirse en algún momento posterior.
Incompleto Indicación
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 |
|
~ DMClient
virtual ~DMClient( void )
El destructor de objetos DMClient .
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 )