pearlab2024-teamdev / gui-app

1 stars 0 forks source link

MagicalGlobalにおけるserialportのデータ型について #12

Closed PARA-DISO closed 1 week ago

PARA-DISO commented 1 month ago

問題

SerialPortBuilder;::openが返す型がtrait実装で抽象化されたポインタのようなもので返されている。 そのため、MagicalGlobalで利用時にデータを再構築がおそらくできない。

対応

builderのopenメソッドをもとに以下の肩を指定し、dyn Tではなく、構造体を直接指定する

// どこかよきところ
#[cfg(unix)]
type Port = serialport::TTYPort;
#[cfg(windows)]
type Port = serialport::COMPort;

// 利用時
let port= magical::get_mut_at<Port>(0);

課題

windowsモジュール(COMPort)が露出していない可能性があるので、その場合の対応の検討が必要 pub use windows::COMPortと記載があるので行けるとは思うが、

PARA-DISO commented 1 month ago

このtype Portは名前衝突の可能性がある名前なので、いい感じの名前を付けてあげてください。

PARA-DISO commented 1 week ago

必要のない実装となったので閉じます