blob: a08f31cbc89ee15e99065bae0846235c61dca139 [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_ucb_ContentInfo_idl__
#define __com_sun_star_ucb_ContentInfo_idl__
#ifndef __com_sun_star_beans_Property_idl__
#include <com/sun/star/beans/Property.idl>
#endif
//=============================================================================
module com { module sun { module star { module ucb {
//=============================================================================
/** A structure for information about contents.
@see XContentCreator
@see XCommandProcessor
*/
published struct ContentInfo
{
//-------------------------------------------------------------------------
/** A type identifier string for a content.
<p>This is an implementation specific string characterizing the
kind of a content (e.g. "application/vnd.sun.star.hierarchy-link").
The value of this member should match the value returned by
<member>XContent::getContentType</member> of an appropriate content.
*/
string Type;
//-------------------------------------------------------------------------
/** Additional attributes.
<p>These flags contain extra information on the content, like its kind
(KIND_FOLDER, KIND_DOCUMENT, KIND_LINK).
<p>It is highly recommended to fill these flags very accurately, as
they are very important when transferring contents between different
<type>ContentProvider</type>s.
<p>The value can be one of the <type>ContentInfoAttribute</type>
constants.
*/
long Attributes;
//-------------------------------------------------------------------------
/** This field contains a list with the properties which must be set at
a content that was just created using
<member>XContentCreator::createNewContent</member> before it can be
committed (by executing the command "insert" at the new content).
<p>If one of the properties is missing, the insert command will fail.
<p>In example, a new file system folder content will need a title. The
Properties member of the ContentInfo provided for this kind of
content must include the property "Title".
<p><b>Important:</b> The required properties must have one of the
following basic data types (in order to make it possible to implement
client applications with a small set of generic input methods for the
values):
<p>
<ul>
<li>boolean
<li>char
<li>byte
<li>string
<li>short
<li>long
<li>hyper
<li>float
<li>double
</ul>
*/
sequence< com::sun::star::beans::Property > Properties;
};
//=============================================================================
}; }; }; };
#endif