ほぼ全体像はつかめました。
(というか既に2バージョン公開してますし…)
実は肝心の「データの持ち方」がよく分かっていなかったりしています。
new / delete が結構遠くにある点が、コードの難易度を上げています。
例えば、CInetAccess オブジェクトは、
- キー等のイベントハンドラ内で new して通信を開始し、
- 通信終了(異常系含む)時にメッセージを発生させ、
- そのメッセージハンドラ内で delete
しています。と、これだけなら簡単なんですが、ほかにも、
- ユーザからの通信中止コマンドを受けた時点でも delete
- 画面遷移(前の画面に戻る)コマンドを受けた時点でも delete
します。
データとして、より重要な CMixiData はさらに複雑です(詳細は略)。