编写规范
From Apache OpenOffice Wiki
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). |