* ユニバーサルコンテントブローカー [#n3b323aa] ユニバーサルコンテントブローカー UCB はファイルなどのコンテンツへのアクセスを提供します。各種のコンテンツへのアクセスは該当するコンテンツプロバイダ UCP が担当します。 これらの UCP は普通はそのまま利用することはなく、css.ucb.SimpleFileAccess サービスを介して利用されます。たとえば、file:///home/hoge.odt を開いて内容を読み込もうとしたときには、file プロトコルを担当する css.ucb.FileContentProvider サービスが利用されます。 ドキュメントをロードする css.frame.Desktop サービスもこの仕組みを利用しており、ヘルプファイルなどを vnd.sun.star.help プロトコルで指定すると、ドキュメントとして開くことができます。 他の場所では、OOo Basic のファイルアクセス関数も SimpleFileAccess サービスを経由して UCP を利用しています。 #contents ** UCB の役割 [#l214bfd0] OOo は複数の OS に対応するために osl レイヤーがファイルシステムの差異を吸収しています。さらに、UCB はファイルの置かれている場所ごとの差異を吸収して同じ方法で取り扱うことができる方法を提供します。 もちろん、アクセス権限などに注意が必要です。 また、vnd.sun.star.tdoc プロトコルを扱う UCP のような特殊なものもあります。 ** UCP の登録 [#x09c3861] /org.openoffice.ucb.Configuration/ContentProviders 以下にサービス名と扱うプロトコルが登録されています。 ** 既存の UCP [#tcd4a028] |プロトコル|種類|h |file|ローカルファイルシステム上のファイル| |vnd.sun.star.hier|コンフィグレーションへのアクセス| |http|http| |https|https| |vnd.sun.star.webdav, dav, davs|webdav| |ftp|ftp| |vnd.sun.star.help|ヘルプファイル| |vnd.sun.star.pkg|ドキュメントファイルなど zip ファイル内へのアクセス| |vnd.sun.star.zip|zip ファイル内への透過的アクセス| |vnd.sun.star.expand|プロトコルが /singletons/css.util.theMacroExpander で展開されます| |vnd.sun.star.extension|インストールされている拡張機能パッケージ内のファイルへのアクセス| |vnd.sun.star.tdoc|開いているドキュメントへのアクセス| バージョン依存性、未登録の UCP もあります。 ** 独自の UCP の作成 [#p8905fb8] UNO コンポーネントを css.ucb.ContentProvider サービスに従って実装します。 |