試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

メールマガジン:LibreOfficeをBoo言語で制御する(使用する名前空間,データ型と型変換)

この記事について

メールマガジンの系統は「自由テーマ」です。
LibreOfficeをBoo言語で制御する(概要,必要なパッケージ,大まかな流れ,コンパイル)」の続きとして、実際のプログラムを記述する上での

についてを扱っています。プログラムの処理の流れや全体の例については別の記事で扱うことになります。
既にBoo言語でLibreOfficeを用いたプログラムが記述できるのであれば、この記事を読む必要はありません。

途中までの内容

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃LibreOfficeをBoo言語で制御する(使用する名前空間,データ型と型変換)   ┃
┃                                 Mono,Boo,LibreOffice/OpenOffice.org┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

━━━━━━━━
使用する名前空間
━━━━━━━━
LibreOfficeを制御するのに用いるのは
* unoidl (LibreOffice内部のデータ型に関係するあらゆるものに使用)
* uno (主にuno.util.Bootstrap.bootstrap()のために使用)
の名前空間となり、前者はLibreOfficeのSDKのドキュメント内の
IDLリファレンス(Web上にあるOpenOffice.org向けのドキュメントでは
 http://api.openoffice.org/docs/common/ref/com/sun/star/module-ix.html)
にある「モジュール」と対応する。下はその対応の例。
┌──────────────┬───────────────────┐
│IDLリファレンスのモジュール │共通言語基盤/CLIの言語における名前空間│
├──────────────┼───────────────────┤
│::com::sun::star::uno       │unoidl.com.sun.star.uno               │
│::com::sun::star::awt       │unoidl.com.sun.star.awt               │
│::com::sun::star::lang      │unoidl.com.sun.star.lang              │
│::com::sun::star::frame     │unoidl.com.sun.star.frame             │
└──────────────┴───────────────────┘
この「unoidl」名前空間は、各種処理に用いるためのデータの型の一部としても
用いられる(例:unoidl.com.sun.star.uno.XComponentContext型)。
IDLリファレンスは、Ubuntu 11.04の時点では「libreoffice-dev-doc」という
パッケージを入れるとローカルのファイルから参照でき、インストール後
Webブラウザで/usr/lib/libreoffice/basis3.3/sdk/index.htmlを開いて
「IDL Reference」をたどると開くことができる。途中の「3.3」の部分は
今後バージョン番号によって変わると思われる。

(以下略)

───────── (以下は見出しのみの紹介となります) ─────────

━━━━━━━━
データ型について
━━━━━━━━
────────────────────
関数の戻り値の型から使いたい型への型変換
────────────────────
────────────────────────
宣言時とは別の型のメンバ関数を用いるための型変換
────────────────────────
───────────────
型を変換せずに別の型で参照する
───────────────
──────
暗黙の型変換
──────