MLGetMessageHandler (C 関数)
MLGetMessageHandlerはWSGetMessageHandlerに置き換えられた.
MLMessageHandlerObject MLGetMessageHandler(MLINK link)
MLINKオブジェクトlink のためにインストールされたメッセージハンドラ(処理)関数を返す.
詳細

- MathLinkが接続の向こう側から緊急のメッセージを受けると,緊急メッセージハンドラ関数が呼び出される.
- MLGetMessageHandler()は,link にメッセージハンドラ関数がインストールされていない場合に(MLMessageHandlerObject)0 を返す.
- MLMessageHandlerObject は,void f(MLINK link,int m1,int m2)の形式の関数へのポインタである.
- MLGetMessageHandler()は,MathLinkヘッダファイルmathlink.hの中で宣言される.
例題
例 (1)
#include "mathlink.h"
/* a function to read MathLink urgent messages */
void AppMessageHandler(MLINK link, int m1, int m2)
{
/* ... */
}
/* check that a link uses AppMessageHandler for urgent messages */
void check_the_message_handler(MLINK link)
{
MLMessageHandlerObject handler;
handler = MLGetMessageHandler(link);
if(handler != (MLMessageHandlerObject)AppMessageHandler)
{
if(! MLSetMessageHandler(link, (MLMessageHandlerObject)AppMessageHandler))
{ /* unable to set AppMessageHandler as the handler for
link */ }
}
}