Next: 3.2.1 DoInit()
Up: 3 OPEN-Rプログラミングの基礎
Previous: 3.1.2.2.7 モード
OPEN-Rプログラミングでは,C/C++言語と異なり,
プログラムの開始点であるmain()関数を記述しない.
その代わり,実行されるプログラム(オブジェクト)を
表すC++のクラスを記述し,AIBO
のシステムから呼び出されるエントリポイントを
クラスのメンバ関数として実装する.
オブジェクトを表すクラスは,
ヘッダファイルの中で,次のようにOObjectクラスを継承し,
DoInit(),DoStart(),DoStop(),DoDestroy()の4つの
メンバ関数を宣言したものになる.
以下のプログラムは,telnetでAIBOへ接続し,
「Hello World」という文字列を表示させるプロクラムである.
telnetでAIBOへ接続し,実行結果をみることには無線コンソールが
必要である.
※HelloWorldでは,オブジェクト間通信を行わない.
[HelloWorld.h]
#include <OPENR/OObject.h>
class HelloWorld : public OObject { //継承
public:
HelloWorld();
virtual ~HelloWorld() {}
virtual OStatus DoInit (const OSystemEvent& event);
virtual OStatus DoStart (const OSystemEvent& event);
virtual OStatus DoStop (const OSystemEvent& event);
virtual OStatus DoDestroy(const OSystemEvent& event);
};
OPEN-Rプログラミングでは,main()関数に書かれたプログラムが順に実行され
るのではなく,OObjecを継承したクラスのメンバ関数が「何々したとき」に呼
び出される形になる.この「何々したとき」のことをイベントと呼ぶ.
また,基本的な4つのメンバ関数は,次のように呼び出される.
generated through LaTeX2HTML. M.Inaba 平成18年5月6日