ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

Redmineダウンローダ開発メモ(3) ソフト開発-2

Redmineダウンローダ開発メモ(3) ソフト開発 - ドナドナされるプログラマのメモ の続き。

まずは簡単なテストコードを作り、RedmineサーバーからIssue一覧を取得できるようにした。

次に、ちゃちゃっとダイアログを作った。数百Issueを取得するため、中断ボタンも実装。また、相手サーバーに迷惑をかけないようGET間のインターバル時間を設定できるようにした。

Redmineダウンローダ 外観

データのダウンロード処理はワーカースレッドで実行する。ワーカースレッドからは直接GUIをいじれないため、Status等はユーザー定義のメッセージで更新通知を投げる。データそのものはスレッド間で共有するメモリ経由で受け渡す。

ワーカースレッドは実行ボタンで起動し、中止ボタンでセットされるフラグをチェック、フラグがセットされていたらシグナルをセットし中断する。中止ボタンはシグナルがセットされたらボタン状態を切り替える。

・・・ふむ。詳細設計はこんなところか。あとは実装だけだ!

次:

Redmineダウンローダ開発メモ(3) ソフト開発-3 Redmineサーバーにアクセスする同期コードとか、JSONをCStdioFileからUTF-8で保存するコードとか - ドナドナされるプログラマのメモ