blob: 302cdc529f0897f690b63bcbcb105cea33d908ef [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_xsd_XDataTypeRepository_idl__
#define __com_sun_star_xsd_XDataTypeRepository_idl__
#ifndef __com_sun_star_container_XEnumerationAccess_idl__
#include <com/sun/star/container/XEnumerationAccess.idl>
#endif
#ifndef __com_sun_star_container_XNameAccess_idl__
#include <com/sun/star/container/XNameAccess.idl>
#endif
#ifndef __com_sun_star_xsd_XDataType_idl__
#include <com/sun/star/xsd/XDataType.idl>
#endif
#ifndef __com_sun_star_container_NoSuchElementException_idl__
#include <com/sun/star/container/NoSuchElementException.idl>
#endif
#ifndef __com_sun_star_container_ElementExistException_idl__
#include <com/sun/star/container/ElementExistException.idl>
#endif
#ifndef __com_sun_star_util_VetoException_idl__
#include <com/sun/star/util/VetoException.idl>
#endif
//=============================================================================
module com { module sun { module star { module xforms {
//-----------------------------------------------------------------------------
/** specifies a repository of XSD data types
<p>The elements of the repository are instances supporting the <type scope="com::sun::star::xsd">XDataType</type>
interface.</p>
*/
interface XDataTypeRepository
{
/** provides access to an enumeration of the contained data types
*/
interface com::sun::star::container::XEnumerationAccess;
/** provides untyped access to the elements of the repository, as well as meta information
such as the names of all contained types, and the existence of a named type
*/
interface com::sun::star::container::XNameAccess;
/** retrieves the basic type for the given type class
@see com::sun::star::xsd::DataTypeClass
@throws com::sun::star::container::NoSuchElementException
if in the repository, there is no data type with the given class
*/
com::sun::star::xsd::XDataType
getBasicDataType( [in] short dataTypeClass )
raises ( com::sun::star::container::NoSuchElementException );
/** creates a clone of the given data type, and inserts it into the repository
@throws com::sun::star::container::NoSuchElementException
if the given name does not refer to a type in the repository
@throws com::sun::star::container::ElementExistException
if the new name is already used in the repository
*/
com::sun::star::xsd::XDataType
cloneDataType( [in] string sourceName, [in] string newName )
raises( com::sun::star::container::NoSuchElementException, com::sun::star::container::ElementExistException );
/** removes a data type given by name from the repository
@throws com::sun::star::container::NoSuchElementException
if the given name does not refer to a type in the repository
@throws com::sun::star::util::VetoException
if the specified data type is a built-in (basic) data type, and cannot
be removed
@see com::sun::star::xsd::XDataType
*/
void
revokeDataType( [in] string typeName )
raises( com::sun::star::container::NoSuchElementException, com::sun::star::util::VetoException );
/**
*/
com::sun::star::xsd::XDataType
getDataType( [in] string typeName )
raises( com::sun::star::container::NoSuchElementException );
};
//=============================================================================
}; }; }; };
#endif