ソース解析状況

ほぼ全体像はつかめました。
(というか既に2バージョン公開してますし…)

実は肝心の「データの持ち方」がよく分かっていなかったりしています。

new / delete が結構遠くにある点が、コードの難易度を上げています。
例えば、CInetAccess オブジェクトは、

  1. キー等のイベントハンドラ内で new して通信を開始し、
  2. 通信終了(異常系含む)時にメッセージを発生させ、
  3. そのメッセージハンドラ内で delete

しています。と、これだけなら簡単なんですが、ほかにも、

  • ユーザからの通信中止コマンドを受けた時点でも delete
  • 画面遷移(前の画面に戻る)コマンドを受けた時点でも delete

します。

データとして、より重要な CMixiData はさらに複雑です(詳細は略)。