例 D–5 は、メディア ptype のシグニチャーレイアウトの例です。
ptype Acme_Calc {
start "acalc";
handle:
/*
* Display Acme_Sheet
* Include in tool's ptype if tool can display a document.
*/
session Display( in Acme_Sheet contents ) => start opnum = 1;
session Display( in Acme_Sheet contents,
in messageID counterfoil ) => start opnum = 2;
session Display( in Acme_Sheet contents,
in title docName ) => start opnum = 3;
session Display( in Acme_Sheet contents,
in messageID counterfoil,
in title docName ) => start opnum = 4;
/*
* Edit Acme_Sheet
* Include in tool's ptype if tool can edit a document.
*/
session Edit( inout Acme_Sheet contents ) => start opnum = 101;
session Edit( inout Acme_Sheet contents,
in messageID counterfoil ) => start opnum = 102;
session Edit( inout Acme_Sheet contents,
in title docName ) => start opnum = 103;
session Edit( inout Acme_Sheet contents,
in messageID counterfoil,
in title docName ) => start opnum = 104;
/*
* Compose Acme_Sheet
* Include in tool's ptype if tool can compose a document from scratch.
*/
session Edit( out Acme_Sheet contents ) => start opnum = 201;
session Edit( out Acme_Sheet contents,
in messageID counterfoil ) => start opnum = 202;
session Edit( out Acme_Sheet contents,
in title docName ) => start opnum = 203;
session Edit( out Acme_Sheet contents,
in messageID counterfoil,
in title docName ) => start opnum = 204;
/*
* Mail Acme_Sheet
* Include in tool's ptype if tool can mail a document.
*/
session Mail( in Acme_Sheet contents ) => start opnum = 301;
session Mail( inout Acme_Sheet contents ) => start opnum = 311;
session Mail( inout Acme_Sheet contents,
in title docName ) => start opnum = 313;
session Mail( out Acme_Sheet contents ) => start opnum = 321;
session Mail( out Acme_Sheet contents,
in messageID counterfoil ) => start opnum = 323;
};