diff options
Diffstat (limited to 'offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl')
-rw-r--r-- | offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl new file mode 100644 index 000000000..012a3dd46 --- /dev/null +++ b/offapi/com/sun/star/ucb/TransientDocumentsContentProvider.idl @@ -0,0 +1,146 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ucb_TransientDocumentsContentProvider_idl__ +#define __com_sun_star_ucb_TransientDocumentsContentProvider_idl__ + +#include <com/sun/star/ucb/XContentProvider.idl> + + +module com { module sun { module star { module ucb { + +/** The Transient Documents Content Provider (TDCP) implements a + ContentProvider for the UniversalContentBroker + (UCB). + + <p>It provides access to the hierarchical structure of the documents that + are active in a running OpenOffice.org process. As long as a document was + not closed, the TDCP can access it. All documents that have been loaded - + regardless of their persistent document format (sxw, doc, sxc, xls, ...) + or that have been created but not yet saved to any storage medium, are + supported. The TDCP is not able to load any documents itself. This is + exclusively done by the OpenOffice.org document handling framework. The + document contents provided by the TDCP represent live data, which may + differ from any persistent representation of the document, for instance, + because the user modified the document after loading, but did not yet save + it. + + @see TransientDocumentsRootContent + @see TransientDocumentsDocumentContent + @see TransientDocumentsFolderContent + @see TransientDocumentsStreamContent + + @since OOo 2.0 +*/ +service TransientDocumentsContentProvider +{ + /** provides four different types of contents: Stream, Folder, Document and + Root. + + <p> + + <b>TDCP Contents</b> + <ol> + <li> + A TDCP Stream (TransientDocumentsStreamContent) is a + content which represents a data stream of an Office document. It is + contained in a TDCP Folder or TDCP Document. A TDCP Stream has no + children. + </li> + <li> + A TDCP Folder (TransientDocumentsFolderContent) is a + container for other TDCP Folders and TDCP Streams. It may be contained + in another TDCP Folder or in a TDCP Document. + </li> + <li> + A TDCP Document (TransientDocumentsDocumentContent) + represents the root folder of a transient document. It is a container + for other TDCP Folders and TDCP Streams. It is always a child of the + TDCP Root. + </li> + <li> + There is at most one instance of a TDCP Root + (TransientDocumentsRootContent) at a time. All other TDCP + contents are children of this folder. The TDCP Root Folder can contain + only TDCP Documents. It has the fixed URL "vnd.sun.star.tdoc:/". + </li> + </ol> + + <p><b>URL Scheme for TDCP Contents</b> + + <p>Each TDCP content has an identifier corresponding to the following + scheme: + + <ul> + <li> + tdcp-URL = "vnd.sun.star.tdoc:" abs-path + </li> + <li> + abs-path = +( "/" segment ) + </li> + <li> + segment = *( pchar ) + </li> + <li> + pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" | "$" | "," + </li> + <li> + unreserved = alphanum | mark + </li> + <li> + mark = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")" + </li> + <li> + escaped = "%" hex hex + </li> + </ul> + + <p>Examples: + + <ul> + <li> + vnd.sun.star.tdoc:/ + ( The TDCP Root ) + </li> + <li> + vnd.sun.star.tdoc:/22 + ( The document with the id 22 ) + </li> + <li> + vnd.sun.star.tdoc:/22/ + ( The document with the id 22 ) + </li> + <li> + vnd.sun.star.tdoc:/42/folder/subfolder + ( The folder/stream named subfolder contained in folder named folder, + which is contained in the document with the id 42 ) + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XContentProvider; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |