Refactoring des communications du tethering d'app dans Seattle
Remonter à Nouveautés
L'API du tethering d'app responsable des communications entre les applications du tethering d'app a subi un refactoring pour découpler les protocoles des spécificités des données transférées, simplifier les communications et étendre les fonctionnalités de la classe de base relatives aux profils afin de faciliter la création de votre profil.
Données de transfert des protocoles, données de gestion des profils
Dans XE8, les classes de protocole étaient responsables de l'analyse des données entrantes et de la construction des commandes du tethering d'app à partir des données reçues, pour transmettre ces commandes à une classe de profil. Dans Seattle, les classes de protocole agissent simplement comme des intermédiaires pour envoyer et recevoir des flux de données, et les profils sont responsables de la sérialisation et de la désérialisation des commandes du tethering d'app.
Le tableau suivant présente les membres qui ont été déplacés des classes de protocole vers les classes de profil :
XE8 | Seattle | ||
---|---|---|---|
Classe | Membre | Membre | Classe |
TTetheringProtocol | DoReceiveCommand | DoReceiveCommand | TTetheringProfile |
DoSendCommand | DoSendCommand | ||
ReadCommand | ReceiveCommand | ||
ReceiveCommand | |||
SendCommand | SendCommand | ||
SendCommandWithResponse | SendCommandWithResponse |
Les commandes entrantes du tethering d'app ne sont plus exposées publiquement par le biais d'événements tels que TTetheringProtocol.OnCommand
ou TTetheringProfile.OnCommand
. A la place, les classes de profil doivent implémenter DoOnIncomingData pour analyser et gérer les commandes entrantes.
Les classes de protocole ne fournissent plus les événements OnStreamReceived
et OnStringReceived
. Utilisez à la place les événements équivalents des classes de profil : OnStreamReceived et OnStringReceived.
Logique de gestion des connexions et des profils distants
La logique de gestion des connexions et des profils distants a été déplacée de la classe de profil d'application vers la classe de base de profil afin que vous puissiez les utiliser dans vos profils personnalisés. En conséquence, TTetheringProfile a obtenu les membres protégés suivants que vous pouvez utiliser lors d'opérations de sous-classement :
Autres modifications
- La méthode TransferStream des classes de protocole est désormais obsolète. Elle a été remplacée par SendStream pour une dénomination plus cohérente.
- TTetheringProtocol.SendStream appelle DoSendStream, que vous pouvez redéfinir dans vos classes de protocole personnalisées.
- SendCommandWithResponse appelle DoSendCommandWithResponse, que vous pouvez redéfinir dans vos classes de profil personnalisées.
- TTetheringCommand.ToBytes vous permet de sérialiser une commande sous forme d'octets encodés en UTF-8.
- Les classes de protocole ont obtenu un accès à leur profil par le biais de leur nouvelle propriété FProfile.
- Vous pouvez spécifier les données de commande dans le constructeur d'une commande du tethering d'app.