Pandora Pocket

IT系と日常系の備忘録。三日坊主。

家で仕事をしているのですが、普段寝る前にはパソコンの電源を落としています。 朝起きて身支度をして、仕...
[はてなブックマークで表示]

この記事で作っていたMQTTHomeClient。
MQTT Brokerから受け取ったTopicから処理を分岐させるんですが、ここで呼び出すWakeOnLANの処理をプロジェクト内で実装しています。
どうせ私しか使わないんでべたべた書いてもいいんですが、勉強がてらMQTTのクライアントの機能拡張をDLL追加でできるように改良してみました。

ひつじ家のスマートホーム化に用いるMQTTクライアント. Contribute to Ovis/MqttHomeClient development by creating an account on GitHub.
[はてなブックマークで表示]

まぁ参考サイトのコードをコピペゲフンゲフン採用させてもらって、WakeOnLANの処理を外部プロジェクトのクラスライブラリ側に寄せただけです。

Interfaceを定義してやって、DLL側とプログラム側でInterfaceに沿った処理を突っ込むだけなので、割と簡単に実装できますね。いやまぁInterfaceの設計が多分一番大変なんでしょうけども。バージョンアップごとに変わっていったらプラグインの追従が死ぬので。

参考サイト