编写规范
From Apache OpenOffice Wiki
< Zh | Documentation
UNOIDL 与 C++、CORBA IDL 之间存在相似之处,特别是在语法和编译程序的常规使用方面。如果您熟悉 C++ 或 CORBA IDL,就能理解 UNOIDL 的大部分内容。
第一个示例是 com.sun.star.bridge.XUnoUrlResolver 接口的 IDL 规范。idl 文件通常以一些预处理程序指令开头,其后是模块说明和类型定义:
#ifndef __com_sun_star_bridge_XUnoUrlResolver_idl__
#define __com_sun_star_bridge_XUnoUrlResolver_idl__
#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
#include <com/sun/star/connection/ConnectionSetupException.idl>
#include <com/sun/star/connection/NoConnectException.idl>
module com { module sun { module star { module bridge {
/** service <type scope="com::sun::star::bridge">UnoUrlResolver</type>
implements this interface.
*/
published interface XUnoUrlResolver: com::sun::star::uno::XInterface
{
// method com::sun::star::bridge::XUnoUrlResolver::resolve
/** resolves an object, on the UNO URL.
*/
com::sun::star::uno::XInterface resolve( [in] string sUnoUrl )
raises (com::sun::star::connection::NoConnectException,
com::sun::star::connection::ConnectionSetupException,
com::sun::star::lang::IllegalArgumentException);
};
}; }; }; };
#endif
下面我们将分步讨论这个idl 文件,并尽快写出我们自己的 UNOIDL 规范。指定
com.sun.star.bridge.XUnoUrlResolver 的文件位于您安装的 SDK 的 idl 文件夹中,即 <SDK>/idl/com/sun/star/bridge/XUnoUrlResolver.idl。
按照惯例,UNOIDL 定义文件名称的扩展名是 .idl。说明必须使用不包含特殊字符的 US ASCII 字符集,不能使用空白(即空格、制表符或换行)来分隔符号。
| Content on this page is licensed under the Public Documentation License (PDL). |