秋分の日にバイクで破風崎へ。
真夏の晴天に行くと空の青と海の水平線の区別がわからないくらい海が青い。
その写真がないのが残念。
[Doxygenシーケンス図]
試行錯誤を繰り返して、それなりにできた。
今回は以下のように書いてみた。
Cソースコードの1行目に
/*! \file */
/*!
関数ヘッダ
以前の記事を参照。
*/
void func()
{
/*!
シーケンス図
*/
}
[例]
シーケンス図は4例。
Message Sequence・基本
Message Sequence・callback
Method or function call
応用
ちょっと見にくいけど。。
/*!
Message Sequence・基本
\msc
ThreadA,ThreadB,ThreadC;
ThreadA->ThreadB [label="Command Message", linecolour="#7fff7f"];
ThreadB->ThreadC [label="Forward Message", linecolour="#7fff7f"];
ThreadA<-ThreadB [label="Responce Message", linecolour="#7fff7f"];
\endmsc
*/
/*!
Message Sequence・callback
\msc
ThreadA,ThreadB;
ThreadA->ThreadB [label="Command Message", ID="CMD 0x20", linecolour="#0000FF"];
--- [ label = "3rdParty Library READY State", ID="*" ];
ThreadA<<=ThreadB[label="Callback Function(STATE READY) ", linecolour="#0000FF"];
\endmsc
*/
/*!
Method or function call
\msc
Application,FileSystem;
Application=>FileSystem [label="file access", linecolour="#FF0000"];
Application<<FileSystem [label="return SUCCESS", linecolour="#FF0000"];
\endmsc
*/
/*!
応用。|||;は箱の上に突き出した線を描画。
\msc
TaskA,TaskB;
|||;
TaskA note TaskB [label="power on"];
...;
TaskA->TaskB [label="Request", linecolour="#7fff7f"];
TaskB=>TaskB [label="process(1)", linecolour="#000000"];
TaskB=>TaskB [label="process(2)", linecolour="#000000"];
TaskB=>TaskB [label="process(3)", linecolour="#000000"];
...;
TaskA<<=TaskB [label="Callback Function(notify on change) ", linecolour="#0000FF"];
--- [label="If more to run", linecolour="#0000FF"];
TaskB note TaskB [label="note: process"];
TaskA note TaskB [label="power off"];
\endmsc
*/
http://www.spread-net.co.jp/contents/company/index.htm
http://www.spread-net.co.jp/contents/company/index.htm