diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/sdbcx | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream/4%7.4.7.tar.xz libreoffice-upstream/4%7.4.7.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/sdbcx')
51 files changed, 3355 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sdbcx/CheckOption.idl b/offapi/com/sun/star/sdbcx/CheckOption.idl new file mode 100644 index 000000000..d18036764 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/CheckOption.idl @@ -0,0 +1,52 @@ +/* -*- 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_sdbcx_CheckOption_idl__ +#define __com_sun_star_sdbcx_CheckOption_idl__ + + module com { module sun { module star { module sdbcx { + + +/** determines the check option for a view. + */ +published constants CheckOption +{ + + /** indicates that no value checking is applied during updates of + view data. + */ + const long NONE = 0; + + /** indicates that the value checking is applied for the view and all base + views. + */ + const long CASCADE = 2; + + /** indicates that the value checking is applied only for the view. + */ + const long LOCAL = 3; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Column.idl b/offapi/com/sun/star/sdbcx/Column.idl new file mode 100644 index 000000000..254ac016a --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Column.idl @@ -0,0 +1,116 @@ +/* -*- 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_sdbcx_Column_idl__ +#define __com_sun_star_sdbcx_Column_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + module com { module sun { module star { module sdbcx { + + published interface XDataDescriptorFactory; + + +/** describes the common properties of a database column. + */ +published service Column +{ + + /** optional, could be used to copy a database column. + */ + [optional] interface XDataDescriptorFactory; + + // gives access to the properties. + interface com::sun::star::beans::XPropertySet; + + + /** is the name of the column. + */ + [readonly, property] string Name; + + + /** is the + com::sun::star::sdbc::DataType + of the column. + */ + [readonly, property] long Type; + + + /** is the type name used by the database. If the column type is + a user-defined type, then a fully-qualified type name is returned. + <b> + Note: + </b> + May be empty. + */ + [readonly, property] string TypeName; + + + /** gets a column's number of decimal digits. + */ + [readonly, property] long Precision; + + + /** gets a column's number of digits to right of the decimal point. + */ + [readonly, property] long Scale; + + + /** indicates the nullability of values in the designated column. + @see com::sun::star::sdbc::ColumnValue + */ + [readonly, property] long IsNullable; + + + /** indicates whether the column is automatically numbered, thus read-only. + @see com::sun::star::sdbc::ColumnValue + */ + [readonly, property] boolean IsAutoIncrement; + + + /** indicates whether the column is a cash value. + */ + [readonly, property] boolean IsCurrency; + + + + /** indicates that the column contains some kind of time or date stamp + used to track updates. + */ + [optional, readonly, property] boolean IsRowVersion; + + + /** keeps a description of the object. + */ + [optional, readonly, property] string Description; + + + /** keeps a default value for a column, is provided as string. + */ + [optional, readonly, property] string DefaultValue; + +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/ColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/ColumnDescriptor.idl new file mode 100644 index 000000000..3d3dafc8e --- /dev/null +++ b/offapi/com/sun/star/sdbcx/ColumnDescriptor.idl @@ -0,0 +1,98 @@ +/* -*- 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_sdbcx_ColumnDescriptor_idl__ +#define __com_sun_star_sdbcx_ColumnDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + + module com { module sun { module star { module sdbcx { + + +/** describes the common properties of a database column. Could be used for the creation + of a database columns within a table. + @see com::sun::star::sdbcx::Column + @see com::sun::star::sdbcx::Table + */ +published service ColumnDescriptor +{ + service com::sun::star::sdbcx::Descriptor; + + + /** is the + com::sun::star::sdbc::DataType + of the column. + */ + [property] long Type; + + + /** is the type name used by the database. If the column type is + a user-defined type, then a fully-qualified type name is returned. + May be empty. + */ + [property] string TypeName; + + + /** gets a column's number of decimal digits. + */ + [property] long Precision; + + + /** gets a column's number of digits to right of the decimal point. + */ + [property] long Scale; + + + /** indicates the nullability of values in the designated column. + @see com::sun::star::sdbc::ColumnValue + */ + [property] long IsNullable; + + + /** indicates whether the column is automatically numbered, thus read-only. + @see com::sun::star::sdbc::ColumnValue + */ + [property] boolean IsAutoIncrement; + + + /** indicates that the column contains some kind of time or date stamp + used to track updates. + */ + [optional, property] boolean IsRowVersion; + + + /** keeps a description of the object. + */ + [optional, property] string Description; + + + /** keeps a default value for a column, is provided as string. + */ + [optional, property] string DefaultValue; + + /** specifies how to create an auto-increment column. + */ + [optional, property] string AutoIncrementCreation; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/CompareBookmark.idl b/offapi/com/sun/star/sdbcx/CompareBookmark.idl new file mode 100644 index 000000000..04a080eb3 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/CompareBookmark.idl @@ -0,0 +1,62 @@ +/* -*- 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_sdbcx_CompareBookmark_idl__ +#define __com_sun_star_sdbcx_CompareBookmark_idl__ + + module com { module sun { module star { module sdbcx { + + +/** describes the result of a comparison of two bookmarks. + */ +published constants CompareBookmark +{ + + /** the first bookmark is before the second. + */ + const long LESS = -1; + + + /** the first bookmark is equal to the second. + */ + const long EQUAL = 0; + + + /** the first bookmark is after the second one. + */ + const long GREATER = 1; + + + /** the first bookmark is not the same as the second one. + */ + const long NOT_EQUAL = 2; + + + /** the two bookmarks are not comparable. + */ + const long NOT_COMPARABLE = 3; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Container.idl b/offapi/com/sun/star/sdbcx/Container.idl new file mode 100644 index 000000000..bd4ef5ff7 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Container.idl @@ -0,0 +1,94 @@ +/* -*- 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_sdbcx_Container_idl__ +#define __com_sun_star_sdbcx_Container_idl__ + + module com { module sun { module star { module container { + published interface XNameAccess; + published interface XIndexAccess; + published interface XEnumerationAccess; +};};};}; + + module com { module sun { module star { module util { + published interface XRefreshable; +};};};}; + + module com { module sun { module star { module sdbcx { + + published interface XDataDescriptorFactory; + published interface XAppend; + published interface XDrop; + + +/** describes every container which is used for data definition. Each + container must support access to its elements by the element's name or + by the element's position. + + <p> + Simple enumeration must be supported as well. + </p> + <p> + To reflect the changes with the underlying database, a refresh mechanism + needs to be supported. + </p> + <p> + A container may support the possibility to add new elements or to drop + existing elements. Additions are always done by descriptors which define the + properties of the new element. + </p> + */ +published service Container +{ + // gives access to the elements by name. + interface com::sun::star::container::XNameAccess; + + // gives access to the elements by index. + interface com::sun::star::container::XIndexAccess; + + // used to create an enumeration of the elements. + interface com::sun::star::container::XEnumerationAccess; + + + /** is optional for implementation. Used to reflect changes. + */ + [optional] interface com::sun::star::util::XRefreshable; + + /** optional for implementation. Allows to create descriptor elements which then could be used to append new elements. + */ + [optional] interface XDataDescriptorFactory; + + /** optional for implementation, provides the possibility of adding + a new element to the container. + */ + [optional] interface XAppend; + + /** optional for implementation, provides the possibility of dropping + an element from the container. + */ + [optional] interface XDrop; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/DatabaseDefinition.idl b/offapi/com/sun/star/sdbcx/DatabaseDefinition.idl new file mode 100644 index 000000000..8cc697386 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/DatabaseDefinition.idl @@ -0,0 +1,73 @@ +/* -*- 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_sdbcx_DatabaseDefinition_idl__ +#define __com_sun_star_sdbcx_DatabaseDefinition_idl__ + + module com { module sun { module star { module sdbcx { + + published interface XTablesSupplier; + published interface XViewsSupplier; + published interface XUsersSupplier; + published interface XGroupsSupplier; + + +/** could be used as an extension for performing data definition tasks on + databases, and to control the access rights on database objects. + + + <p> + It may be implemented by a database driver provider, to encapsulate the + complexity of data definition, and to give a common way for data definition as + the DDL of most DBMS differs. + </p> + <p> + At least, the access to the tables of a database should be implemented. + The implementation of other known database objects like views is optional. + </p> + <p> + To control the access rights of users, there is the possibility to + implement objects like users and groups. + </p> + */ +published service DatabaseDefinition +{ + // gives access to the tables. + interface XTablesSupplier; + + /** The implementation is optional. + */ + [optional] interface XViewsSupplier; + + /** The implementation is optional. + */ + [optional] interface XUsersSupplier; + + /** The implementation is optional. + */ + [optional] interface XGroupsSupplier; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Descriptor.idl b/offapi/com/sun/star/sdbcx/Descriptor.idl new file mode 100644 index 000000000..056fa0bd1 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Descriptor.idl @@ -0,0 +1,56 @@ +/* -*- 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_sdbcx_Descriptor_idl__ +#define __com_sun_star_sdbcx_Descriptor_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + module com { module sun { module star { module sdbcx { + + +/** is used to create a new object within a database. + + <p> + A descriptor is commonly created by the container of a specific object, such as, tables or views. + After the creation of the descriptor the properties have to be filled. + Afterwards, you append the descriptor to the container and the container creates a new object based + on the information of the descriptor. The descriptor can be used to create several objects. + </p> + <p> + A descriptor contains at least the information of the name of an object. + </p> + @see com::sun::star::sdbcx::XAppend + */ +published service Descriptor +{ + // gives access to the properties. + interface com::sun::star::beans::XPropertySet; + + + /** is the name for the object to create. + */ + [property] string Name; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Driver.idl b/offapi/com/sun/star/sdbcx/Driver.idl new file mode 100644 index 000000000..90142171c --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Driver.idl @@ -0,0 +1,69 @@ +/* -*- 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_sdbcx_Driver_idl__ +#define __com_sun_star_sdbcx_Driver_idl__ + +#include <com/sun/star/sdbc/Driver.idl> + + module com { module sun { module star { module sdbcx { + + published interface XDataDefinitionSupplier; + published interface XCreateCatalog; + published interface XDropCatalog; + + +/** extends the service + com::sun::star::sdbc::Driver + by beans for data definition. +<p> + This service is optional for each driver. Its purpose is to define + a common way for database definition, as the DDL differs between most DBMS. +</p> +<p> + Definition and deletion of database catalogs can't be defined in a common + manner for DBMS, but it should be possible to hide much of the complexity + of creation and deletion of catalogs. Each driver could provide methods to + cover these tasks. +</p> + */ +published service Driver +{ + service com::sun::star::sdbc::Driver; + + /** used to get access to the catalog. + @see Catalog + */ + interface XDataDefinitionSupplier; + + + /** is optional for implementation. + */ + [optional] interface XCreateCatalog; + + /** is optional for implementation. + */ + [optional] interface XDropCatalog; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Group.idl b/offapi/com/sun/star/sdbcx/Group.idl new file mode 100644 index 000000000..6c1ccdf4d --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Group.idl @@ -0,0 +1,59 @@ +/* -*- 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_sdbcx_Group_idl__ +#define __com_sun_star_sdbcx_Group_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + module com { module sun { module star { module sdbcx { + + published interface XUsersSupplier; + published interface XAuthorizable; + + +/** represents a group of users, which has certain access rights for the objects + of the database. + */ +published service Group +{ + /** gives access to the users which contains to this group. + */ + interface XUsersSupplier; + + /** shows the access rights of this group. + */ + interface XAuthorizable; + + // gives access to the properties. + interface com::sun::star::beans::XPropertySet; + + + /** is the name of the group. + */ + [readonly, property] string Name; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/GroupDescriptor.idl b/offapi/com/sun/star/sdbcx/GroupDescriptor.idl new file mode 100644 index 000000000..8b0254ccd --- /dev/null +++ b/offapi/com/sun/star/sdbcx/GroupDescriptor.idl @@ -0,0 +1,44 @@ +/* -*- 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_sdbcx_GroupDescriptor_idl__ +#define __com_sun_star_sdbcx_GroupDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + module com { module sun { module star { module sdbcx { + +/** is used to create a new group in a database. + @see com::sun::star::sdbcx::Group + */ +published service GroupDescriptor +{ + service Descriptor; + + /** is the name of the group. + */ + [property] string Name; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Index.idl b/offapi/com/sun/star/sdbcx/Index.idl new file mode 100644 index 000000000..1d25db0dc --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Index.idl @@ -0,0 +1,88 @@ +/* -*- 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_sdbcx_Index_idl__ +#define __com_sun_star_sdbcx_Index_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + module com { module sun { module star { module sdbcx { + + published interface XColumnsSupplier; + published interface XDataDescriptorFactory; + + +/** is used to specify the index for a database table. It refers to one or + more columns of a table. + <p> + <b> + Note: + </b> + All properties and columns of an index could by modified before they are appended + to a table. In that case the service is a data descriptor. + </p> + */ +published service Index +{ + + /** optional, could be used to copy an index. + */ + [optional] interface XDataDescriptorFactory; + + + /** access to the contained index columns. + */ + interface XColumnsSupplier; + + // gives access to the properties. + interface com::sun::star::beans::XPropertySet; + + + /** is the name of the index. + */ + [readonly, property] string Name; + + + /** is the name of the index catalog, may be empty. + */ + [readonly, property] string Catalog; + + + /** indicates that the index allow only unique values. + */ + [readonly, property] boolean IsUnique; + + + /** indicates that the index is used for the primary key. + */ + [readonly, property] boolean IsPrimaryKeyIndex; + + + /** indicates that the index is clustered. + */ + [readonly, property] boolean IsClustered; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/IndexColumn.idl b/offapi/com/sun/star/sdbcx/IndexColumn.idl new file mode 100644 index 000000000..167bf4a97 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/IndexColumn.idl @@ -0,0 +1,47 @@ +/* -*- 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_sdbcx_IndexColumn_idl__ +#define __com_sun_star_sdbcx_IndexColumn_idl__ + +#include <com/sun/star/sdbcx/Column.idl> + + module com { module sun { module star { module sdbcx { + + +/** adds a property to determine the sort order of the column values within the + index. Some database drivers may ignore this property. + */ +published service IndexColumn +{ + service Column; + + + /** is the column sorted in ascending order. + */ + [readonly, property] boolean IsAscending; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl new file mode 100644 index 000000000..7ded8c17c --- /dev/null +++ b/offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl @@ -0,0 +1,47 @@ +/* -*- 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_sdbcx_IndexColumnDescriptor_idl__ +#define __com_sun_star_sdbcx_IndexColumnDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + + module com { module sun { module star { module sdbcx { + + +/** adds a property to determine the sort order of the column values within the + index. Some database drivers may ignore this property. + */ +published service IndexColumnDescriptor +{ + service Descriptor; + + + /** is the column sorted in ascending order. + */ + [property] boolean IsAscending; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/IndexDescriptor.idl b/offapi/com/sun/star/sdbcx/IndexDescriptor.idl new file mode 100644 index 000000000..4c0a154c8 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/IndexDescriptor.idl @@ -0,0 +1,64 @@ +/* -*- 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_sdbcx_IndexDescriptor_idl__ +#define __com_sun_star_sdbcx_IndexDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + + module com { module sun { module star { module sdbcx { + + published interface XColumnsSupplier; + + +/** is used to define a new index for a database table. + @see com::sun::star::sdbcx::Index + */ +published service IndexDescriptor +{ + service Descriptor; + + + /** access to the contained index columns. + */ + interface XColumnsSupplier; + + + /** is the name of the index catalog, may be empty. + */ + [property] string Catalog; + + + /** indicates that the index allow only unique values. + */ + [property] boolean IsUnique; + + + /** indicates that the index is clustered. + */ + [property] boolean IsClustered; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Key.idl b/offapi/com/sun/star/sdbcx/Key.idl new file mode 100644 index 000000000..7465f6e57 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Key.idl @@ -0,0 +1,84 @@ +/* -*- 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_sdbcx_Key_idl__ +#define __com_sun_star_sdbcx_Key_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + module com { module sun { module star { module sdbcx { + + published interface XColumnsSupplier; + published interface XDataDescriptorFactory; + + +/** is used to define a new key for a table. + */ +published service Key +{ + + /** optional, could be used to copy a key. + */ + [optional] interface XDataDescriptorFactory; + + + /** access to the contained key columns. + */ + interface XColumnsSupplier; + + // gives access to the properties. + interface com::sun::star::beans::XPropertySet; + + + /** is the name of the key + */ + [readonly, property] string Name; + + + /** indicates the type of the key. + @see com::sun::star::sdbcx::KeyType + */ + [readonly, property] long Type; + + + /** is the name of the referenced table, only used for foreign + keys. + */ + [readonly, property] string ReferencedTable; + + + /** is the rule which is applied for updates; only used for foreign keys. + @see com::sun::star::sdbc::KeyRule + */ + [readonly, property] long UpdateRule; + + + /** is the rule which is applied for deletions; only used for foreign keys. + @see com::sun::star::sdbc::KeyRule + */ + [readonly, property] long DeleteRule; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/KeyColumn.idl b/offapi/com/sun/star/sdbcx/KeyColumn.idl new file mode 100644 index 000000000..66da538f5 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/KeyColumn.idl @@ -0,0 +1,45 @@ +/* -*- 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_sdbcx_KeyColumn_idl__ +#define __com_sun_star_sdbcx_KeyColumn_idl__ + +#include <com/sun/star/sdbcx/Column.idl> + +module com { module sun { module star { module sdbcx { + +/** + adds a property to specify the referenced column. This is used to specify + foreign keys. + + */ +published service KeyColumn +{ + service Column; + + /** is the name of a reference column out of the referenced table. + */ + [readonly, property] string RelatedColumn; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl b/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl new file mode 100644 index 000000000..80a96a918 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl @@ -0,0 +1,48 @@ +/* -*- 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_sdbcx_KeyColumnDescriptor_idl__ +#define __com_sun_star_sdbcx_KeyColumnDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + + module com { module sun { module star { module sdbcx { + + +/** adds a property to specify the referenced column. This is used to specify + foreign keys. + @see com::sun::star::sdbcx::KeyColumn + */ +published service KeyColumnDescriptor +{ + service Descriptor; + + + /** is the name of a reference column out of the referenced table. + */ + [property] string RelatedColumn; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/KeyDescriptor.idl b/offapi/com/sun/star/sdbcx/KeyDescriptor.idl new file mode 100644 index 000000000..cd7f49ef9 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/KeyDescriptor.idl @@ -0,0 +1,66 @@ +/* -*- 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_sdbcx_KeyDescriptor_idl__ +#define __com_sun_star_sdbcx_KeyDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + +module com { module sun { module star { module sdbcx { + + published interface XColumnsSupplier; + +/** + is used to define a new key for a table. + + @see com::sun::star::sdbcx::Key + */ +published service KeyDescriptor +{ + service Descriptor; + + /** access to the contained key columns. + */ + interface XColumnsSupplier; + + /** indicates the type of the key. + @see com::sun::star::sdbcx::KeyType + */ + [property] long Type; + + /** is the name of the referenced table, only used for foreign keys. + */ + [property] string ReferencedTable; + + /** is the rule which is applied for updates; only used for foreign keys. + @see com::sun::star::sdbc::KeyRule + */ + [property] long UpdateRule; + + /** is the rule which is applied for deletions; only used for foreign keys. + @see com::sun::star::sdbc::KeyRule + */ + [property] long DeleteRule; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/KeyType.idl b/offapi/com/sun/star/sdbcx/KeyType.idl new file mode 100644 index 000000000..22273ec40 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/KeyType.idl @@ -0,0 +1,50 @@ +/* -*- 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_sdbcx_KeyType_idl__ +#define __com_sun_star_sdbcx_KeyType_idl__ + + module com { module sun { module star { module sdbcx { + + +/** determines the type of a key. + */ +published constants KeyType +{ + + /** indicates that the key is the primary key of a table. + */ + const long PRIMARY = 1; + + /** indicates that the key is unique, NULL values are allowed. + */ + const long UNIQUE = 2; + + /** indicates that the key is a foreign key of a table. + */ + const long FOREIGN = 3; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/PreparedStatement.idl b/offapi/com/sun/star/sdbcx/PreparedStatement.idl new file mode 100644 index 000000000..4e5be7bc7 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/PreparedStatement.idl @@ -0,0 +1,48 @@ +/* -*- 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_sdbcx_PreparedStatement_idl__ +#define __com_sun_star_sdbcx_PreparedStatement_idl__ + +#include <com/sun/star/sdbc/PreparedStatement.idl> + +module com { module sun { module star { module sdbcx { + +/** + extends the definition of the service + com::sun::star::sdbc::PreparedStatement + with a flag for the usage of bookmarks. + @see ResultSet + @see XRowLocate + */ +published service PreparedStatement +{ + service com::sun::star::sdbc::PreparedStatement; + /** + returns if a result set should allow the navigation with bookmarks + or not. The default is `FALSE`. + */ + [property] boolean UseBookmarks; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Privilege.idl b/offapi/com/sun/star/sdbcx/Privilege.idl new file mode 100644 index 000000000..ed15471c4 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Privilege.idl @@ -0,0 +1,75 @@ +/* -*- 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_sdbcx_Privilege_idl__ +#define __com_sun_star_sdbcx_Privilege_idl__ + + module com { module sun { module star { module sdbcx { + + +/** defines a list of flags (bitmaps) which determines the access rights of a + user or a user group. This list may grow in the future. + */ +published constants Privilege +{ + + /** indicates that a user is allowed to read the data. + */ + const long SELECT = 0x00000001; + + /** indicates that a user is allowed to insert new data. + */ + const long INSERT = 0x00000002; + + /** indicates that a user is allowed to update data. + */ + const long UPDATE = 0x00000004; + + /** indicates that a user is allowed to delete data. + */ + const long DELETE = 0x00000008; + + /** indicates that a user is allowed to read the structure of a definition object. + */ + const long READ = 0x00000010; + + /** indicates that a user is allowed to create a definition object. + */ + const long CREATE = 0x00000020; + + /** indicates that a user is allowed to alter an existing object. + */ + const long ALTER = 0x00000040; + + /** indicates that a user is allowed to set foreign keys for a table. + */ + const long REFERENCE = 0x00000080; + + /** indicates that a user is allowed to drop a definition object. + */ + const long DROP = 0x00000100; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/PrivilegeObject.idl b/offapi/com/sun/star/sdbcx/PrivilegeObject.idl new file mode 100644 index 000000000..eabb6adf2 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/PrivilegeObject.idl @@ -0,0 +1,51 @@ +/* -*- 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_sdbcx_PrivilegeObject_idl__ +#define __com_sun_star_sdbc_PrivilegeObject_idl__ + + module com { module sun { module star { module sdbcx { + + +/** defines the list of objects for which a user may have access rights or not. + This list may grow in the future. + */ +published constants PrivilegeObject +{ + + /** indicates a table. + */ + const long TABLE = 0; + + /** indicates a view. + */ + const long VIEW = 1; + + /** indicates a column of a table. + */ + const long COLUMN = 2; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/ReferenceColumn.idl b/offapi/com/sun/star/sdbcx/ReferenceColumn.idl new file mode 100644 index 000000000..9fd977055 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/ReferenceColumn.idl @@ -0,0 +1,48 @@ +/* -*- 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_sdbcx_ReferenceColumn_idl__ +#define __com_sun_star_sdbcx_ReferenceColumn_idl__ + +#include <com/sun/star/sdbcx/Column.idl> + + + module com { module sun { module star { module sdbcx { + + +/** adds a property to specify the referenced column. This is used to specify + foreign keys. + */ +published service ReferenceColumn +{ + service Column; + + + /** is the name of a reference column out of the referenced table. + */ + [readonly, property] string ReferencedColumn; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/ResultSet.idl b/offapi/com/sun/star/sdbcx/ResultSet.idl new file mode 100644 index 000000000..cffdcff00 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/ResultSet.idl @@ -0,0 +1,75 @@ +/* -*- 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_sdbcx_ResultSet_idl__ +#define __com_sun_star_sdbcx_ResultSet_idl__ + +#include <com/sun/star/sdbc/ResultSet.idl> + + module com { module sun { module star { module sdbcx { + + published interface XRowLocate; + published interface XDeleteRows; + + +/** extends the SDBC ResultSet by the possibility of bookmark positioning, canceling + the positioning, and updating of rows. + */ +published service ResultSet +{ + service com::sun::star::sdbc::ResultSet; + + + /** could be used for canceling the execution of SQL statements if both + the DBMS and the driver support aborting of navigation commands. + The implementation is optional. + */ + [optional] interface com::sun::star::util::XCancellable; + + + /** is the interface for navigating on the result set by unique bookmarks. + */ + interface XRowLocate; + + + /** is the interface for deleting more than one row, identified by its bookmark. + The implementation is optional. + */ + [optional] interface XDeleteRows; + + + /** returns if the result set supports bookmark navigation. + */ + [readonly, property] boolean IsBookmarkable; + + + /** returns whether the result set supports updating of newly inserted rows. + This may not work, as the result set may contain automatic generated data + which is used as key information. + */ + [optional, readonly, property] boolean CanUpdateInsertedRows; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Statement.idl b/offapi/com/sun/star/sdbcx/Statement.idl new file mode 100644 index 000000000..47c97bb0e --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Statement.idl @@ -0,0 +1,53 @@ +/* -*- 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_sdbcx_Statement_idl__ +#define __com_sun_star_sdbcx_Statement_idl__ + +#include <com/sun/star/sdbc/Statement.idl> + + module com { module sun { module star { module sdbcx { + + +/** extends the definition of the service + com::sun::star::sdbc::Statement + with a flag for the usage of bookmarks. + @see ResultSet + @see XRowLocate + */ +published service Statement +{ + service com::sun::star::sdbc::Statement; + + + /** returns + `TRUE` + if a result set should allow navigation with bookmarks or not. + The default is `FALSE`. + */ + [property] boolean UseBookmarks; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/Table.idl b/offapi/com/sun/star/sdbcx/Table.idl new file mode 100644 index 000000000..3dec454a9 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/Table.idl @@ -0,0 +1,125 @@ +/* -*- 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_sdbcx_Table_idl__ +#define __com_sun_star_sdbcx_Table_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + module com { module sun { module star { module sdbcx { + + published interface XDataDescriptorFactory; + published interface XColumnsSupplier; + published interface XIndexesSupplier; + published interface XKeysSupplier; + published interface XRename; + published interface XAlterTable; + + +/** used to specify a table in a database. A table is described by its + name and one or more columns. + + <p> + In addition, it may contain indexes to improve the performance in + the retrieval of the table's data and keys, and to define semantic rules for the table. + </p> + <p> + <b> + Note: + </b> + All properties and columns of a table could by modified before + it is appended to a database. In that case, the service is in fact a + descriptor. On existing tables, a user might alter columns, add or delete + columns, indexes, and keys depending on the capabilities of the database and on + the user's privileges. + </p> + + @see com::sun::star::sdbc::XDatabaseMetaData + @see com::sun::star::sdbcx::Privilege + */ +published service Table +{ + + /** optional, could be used to copy a table. + */ + [optional] interface XDataDescriptorFactory; + + + /** access to the contained table columns. + */ + interface XColumnsSupplier; + + + /** optional, provides the access of the table indexes. + */ + [optional] interface XIndexesSupplier; + + + /** optional, provides the access to the table keys. + */ + [optional] interface XKeysSupplier; + + + /** optional, allows the renaming of tables. + */ + [optional] interface XRename; + + + /** optional, allows the altering of columns. + */ + [optional] interface XAlterTable; + + // gives access to the properties + interface com::sun::star::beans::XPropertySet; + + + /** is the name of the table. + */ + [readonly, property] string Name; + + + /** is the name of the table catalog. + */ + [readonly, property] string CatalogName; + + + /** is the name of the table schema. + */ + [readonly, property] string SchemaName; + + + /** supplies a comment on the table. Could be empty, if not supported by + the driver. + */ + [readonly, property] string Description; + + + /** indicates the type of the table like (TABLE, VIEW, SYSTEM TABLE). + Could be empty, if not supported by the driver. + */ + [optional, readonly, property] string Type; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/TableDescriptor.idl b/offapi/com/sun/star/sdbcx/TableDescriptor.idl new file mode 100644 index 000000000..43538794d --- /dev/null +++ b/offapi/com/sun/star/sdbcx/TableDescriptor.idl @@ -0,0 +1,79 @@ +/* -*- 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_sdbcx_TableDescriptor_idl__ +#define __com_sun_star_sdbcx_TableDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + + module com { module sun { module star { module sdbcx { + + published interface XColumnsSupplier; + published interface XKeysSupplier; + + +/** is used to define a table of a database. A table is described by its + name and one or more columns and the keys for semantic rules. + + <p> + In addition, it may contain keys, and to define semantic rules for the table. + <b> + Note: + </b> + Indexes can only be appended when the table is already appended at the database. + </p> + @see com::sun::star::sdbcx::Table + */ +published service TableDescriptor +{ + + /** access to the contained table columns. + */ + interface XColumnsSupplier; + + + /** optional, provides the access to the table keys. + */ + [optional] interface XKeysSupplier; + + service Descriptor; + + /** is the name of the table catalog. + */ + [property] string CatalogName; + + + /** is the name of the table schema. + */ + [property] string SchemaName; + + + /** supplies a comment on the table, Could be empty if not supported by + the driver. + */ + [property] string Description; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/User.idl b/offapi/com/sun/star/sdbcx/User.idl new file mode 100644 index 000000000..5daf88779 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/User.idl @@ -0,0 +1,59 @@ +/* -*- 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_sdbcx_User_idl__ +#define __com_sun_star_sdbcx_User_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + module com { module sun { module star { module sdbcx { + + published interface XGroupsSupplier; + published interface XUser; + + +/** represents a user of the database, who has certain access rights + for the objects of the database. + */ +published service User +{ + // used to change the password. + interface XUser; + + /** optional for implementation, if the database does not know the concept + of user groups. Provides for access to the groups to which a user belongs. + */ + [optional] interface XGroupsSupplier; + + // gives access to the properties + interface com::sun::star::beans::XPropertySet; + + + /** is the name of the user. + */ + [readonly, property] string Name; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/UserDescriptor.idl b/offapi/com/sun/star/sdbcx/UserDescriptor.idl new file mode 100644 index 000000000..f18c6e484 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/UserDescriptor.idl @@ -0,0 +1,47 @@ +/* -*- 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_sdbcx_UserDescriptor_idl__ +#define __com_sun_star_sdbcx_UserDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + + module com { module sun { module star { module sdbcx { + + +/** is used to create a new user in a database. + @see com::sun::star::sdbcx::User + */ +published service UserDescriptor +{ + service Descriptor; + + + /** is the password for the user. + */ + [property] string Password; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/View.idl b/offapi/com/sun/star/sdbcx/View.idl new file mode 100644 index 000000000..11f4aea13 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/View.idl @@ -0,0 +1,99 @@ +/* -*- 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_sdbcx_View_idl__ +#define __com_sun_star_sdbcx_View_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + + module com { module sun { module star { module sdbcx { + +published interface XRename; +published interface XAlterView; + + +/** is used to specify views on data. A view object is only used for creation and + deletion. Inspecting the command of a view is normally not supported. + + <p> + If a view is going to be added to a database, the view must have a unique + name within the view and the table container, as it can be used like a table. + <b> + Note: + </b> + After addition, both the containers for views and the container for tables must + contain an element for the view. + </p> + */ +published service View +{ + + /** is optional for implementation. + */ + [optional] interface XRename; + + // gives access to the properties. + interface com::sun::star::beans::XPropertySet; + + /** allows changing the view's #Command. + */ + [optional] interface XAlterView; + + + /** is the name of the view. + */ + [readonly, property] string Name; + + + /** is the name of the views catalog, may be empty. + */ + [readonly, property] string CatalogName; + + + /** is the name of the view's schema, may be empty. + */ + [readonly, property] string SchemaName; + + + /** is the command for creating the view. + + <p>This is typically a SQL Select-Statement.</p> + + <p>This property might be empty when a backend does not support retrieving the current + SQL command of a view. However, if the <code>View</code> supports altering its command + via the #XAlterView interface, then it's required to also provide the + current SQL command in the <code>Command</code> property.</p> + */ + [readonly, property] string Command; + + + /** indicates if a check option should be used for the view. + + @see com::sun::star::sdbcx::CheckOption + */ + [readonly, property] long CheckOption; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/ViewDescriptor.idl b/offapi/com/sun/star/sdbcx/ViewDescriptor.idl new file mode 100644 index 000000000..13ae38f2a --- /dev/null +++ b/offapi/com/sun/star/sdbcx/ViewDescriptor.idl @@ -0,0 +1,65 @@ +/* -*- 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_sdbcx_ViewDescriptor_idl__ +#define __com_sun_star_sdbcx_ViewDescriptor_idl__ + +#include <com/sun/star/sdbcx/Descriptor.idl> + + module com { module sun { module star { module sdbcx { + + +/** is used to define a new view for a database. + @see com::sun::star::sdbcx::View + */ +published service ViewDescriptor +{ + service Descriptor; + + + /** is the name of the views catalog, may be empty. + */ + [property] string CatalogName; + + + /** is the name of the views schema, may be empty. + */ + [property] string SchemaName; + + + /** is the command for creating the view. After appending a view to its + container, the command may be empty. This is typically a + SQL Select-Statement. + */ + [property] string Command; + + + /** indicates if a check option should be used for the view. + @see com::sun::star::sdbcx::CheckOption + */ + [property] long CheckOption; +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XAlterTable.idl b/offapi/com/sun/star/sdbcx/XAlterTable.idl new file mode 100644 index 000000000..971cd2a0d --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XAlterTable.idl @@ -0,0 +1,78 @@ +/* -*- 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_sdbcx_XAlterTable_idl__ +#define __com_sun_star_sdbcx_XAlterTable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + + module com { module sun { module star { module beans { + published interface XPropertySet; +};};};}; +#include <com/sun/star/sdbc/SQLException.idl> + + module com { module sun { module star { module sdbcx { + +/** is used for creating and appending new objects to a specific container. + */ +published interface XAlterTable: com::sun::star::uno::XInterface +{ + + /** is intended to alter an existing column identified by its name. + This operation must be atomic, in that it is done in one step.s + + @param colName + the column name which to alter + @param descriptor + the new descriptor for the new column + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void alterColumnByName([in]string colName, + [in]com::sun::star::beans::XPropertySet descriptor) + raises (com::sun::star::sdbc::SQLException, + com::sun::star::container::NoSuchElementException); + + /** is intended to alter an existing column identified by its position. + This operation must be atomic, in that it is done in one step.s + + @param index + the position of the column to alter + @param descriptor + the new descriptor for the new column + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + @throws com::sun::star::lang::IndexOutOfBoundsException + if the given index does not denote an existing column. + */ + void alterColumnByIndex([in]long index, + [in]com::sun::star::beans::XPropertySet descriptor) raises + (com::sun::star::sdbc::SQLException, + com::sun::star::lang::IndexOutOfBoundsException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XAlterView.idl b/offapi/com/sun/star/sdbcx/XAlterView.idl new file mode 100644 index 000000000..73dba72fb --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XAlterView.idl @@ -0,0 +1,55 @@ +/* -*- 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_sdbcx_XAlterView_idl__ +#define __com_sun_star_sdbcx_XAlterView_idl__ + +#include <com/sun/star/sdbc/SQLException.idl> + + +module com { module sun { module star { module sdbcx { + + +/** implements the possibility to alter aspects of a view's definition + + @since OOo 2.4 + */ +interface XAlterView +{ + /** changes the command which constitutes the view + + <p>The operation should be atomic.</p> + + @param NewCommand + the new command which the view should be based on. Usually an + <code>SELECT</code> statement. + @throws ::com::sun::star::sdbc::SQLException + if an error occurs + */ + void alterCommand( [in] string NewCommand ) + raises ( ::com::sun::star::sdbc::SQLException ); +}; + + +}; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XAppend.idl b/offapi/com/sun/star/sdbcx/XAppend.idl new file mode 100644 index 000000000..16ca751b3 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XAppend.idl @@ -0,0 +1,62 @@ +/* -*- 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_sdbcx_XAppend_idl__ +#define __com_sun_star_sdbcx_XAppend_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/ElementExistException.idl> + + module com { module sun { module star { module beans { + published interface XPropertySet; +};};};}; + +#include <com/sun/star/sdbc/SQLException.idl> + + module com { module sun { module star { module sdbcx { + +/** is used for creating and appending new objects to a specific container. + */ +published interface XAppend: com::sun::star::uno::XInterface +{ + + /** creates a new object using the given descriptor and appends it + to the related container. + <b> + Note: + </b> + The descriptor will not be changed and can be used again to append another object. + @param descriptor + the descriptor which should be serve to append a new object + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void appendByDescriptor([in]com::sun::star::beans::XPropertySet descriptor) + raises (com::sun::star::sdbc::SQLException, + com::sun::star::container::ElementExistException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XAuthorizable.idl b/offapi/com/sun/star/sdbcx/XAuthorizable.idl new file mode 100644 index 000000000..fae084158 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XAuthorizable.idl @@ -0,0 +1,110 @@ +/* -*- 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_sdbcx_XAuthorizable_idl__ +#define __com_sun_star_sdbcx_XAuthorizable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + + module com { module sun { module star { module sdbcx { + +/** is used for accessing and setting the permissions of a user for a database + object. + @see com::sun::star::sdbcx::PrivilegeObject + @see com::sun::star::sdbcx::Privilege + */ +published interface XAuthorizable: com::sun::star::uno::XInterface +{ + + /** retrieves the permissions for a specific object. + + @param objName + the name of the object + @param objType + a value of com::sun::star::sdbcx::PrivilegeObject + + @returns + the privileges + + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + long getPrivileges([in]string objName, [in]long objType) raises + (com::sun::star::sdbc::SQLException); + + /** retrieves the permissions for a specific object, which could be granted + to other users and groups. + + @param objName + the name of the object + @param objType + a value of com::sun::star::sdbcx::PrivilegeObject + + @returns + the grant privileges + + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + long getGrantablePrivileges([in]string objName, [in]long objType) raises + (com::sun::star::sdbc::SQLException); + + /** adds additional permissions for a specific object. + + @param objName + the name of the object + @param objType + a value from the com::sun::star::sdbcx::PrivilegeObject constants group + @param objPrivileges + a value from the com::sun::star::sdbcx::Privilege constants group + + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void grantPrivileges([in]string objName, [in]long objType, + [in]long objPrivileges) raises + (com::sun::star::sdbc::SQLException); + + /** removes permissions for a specific object from a group or user. + + @param objName + the name of the object + @param objType + a value from the com::sun::star::sdbcx::PrivilegeObject constants group + @param objPrivileges + a value from the com::sun::star::sdbcx::Privilege constants group + + + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void revokePrivileges([in]string objName, [in]long objType, + [in]long objPrivileges) raises + (com::sun::star::sdbc::SQLException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XColumnsSupplier.idl b/offapi/com/sun/star/sdbcx/XColumnsSupplier.idl new file mode 100644 index 000000000..d4f0effee --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XColumnsSupplier.idl @@ -0,0 +1,51 @@ +/* -*- 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_sdbcx_XColumnsSupplier_idl__ +#define __com_sun_star_sdbcx_XColumnsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XNameAccess.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + + module com { module sun { module star { module sdbcx { + + +/** provides the access to a container of columns, typically used for tables and + indexes. + */ +published interface XColumnsSupplier: com::sun::star::uno::XInterface +{ + + /** returns the container of columns. + @returns + the columns + */ + com::sun::star::container::XNameAccess getColumns(); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XCreateCatalog.idl b/offapi/com/sun/star/sdbcx/XCreateCatalog.idl new file mode 100644 index 000000000..e1644b05e --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XCreateCatalog.idl @@ -0,0 +1,59 @@ +/* -*- 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_sdbcx_XCreateCatalog_idl__ +#define __com_sun_star_sdbcx_XCreateCatalog_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + +#include <com/sun/star/container/ElementExistException.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + + module com { module sun { module star { module sdbcx { + + +/** may be implemented to hide the complexity of creating a database catalog. + */ +published interface XCreateCatalog: com::sun::star::uno::XInterface +{ + + /** creates the catalog by using a sequence of property values. The kind + of properties depends on the provider. + + @param info + driver specific information + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + + */ + void createCatalog([in]sequence<com::sun::star::beans::PropertyValue> info) + raises (com::sun::star::sdbc::SQLException, + com::sun::star::container::ElementExistException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl b/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl new file mode 100644 index 000000000..c842c0839 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl @@ -0,0 +1,78 @@ +/* -*- 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_sdbcx_XDataDefinitionSupplier_idl__ +#define __com_sun_star_sdbcx_XDataDefinitionSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + + module com { module sun { module star { module sdbc { + published interface XConnection; +};};};}; + + module com { module sun { module star { module sdbcx { + + published interface XTablesSupplier; + + +/** provides the access to data definition beans from a connected database. + */ +published interface XDataDefinitionSupplier: com::sun::star::uno::XInterface +{ + + /** returns at least the container of tables related to the given connection. + @param connection + the related connection + @returns + the container + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + XTablesSupplier getDataDefinitionByConnection( + [in]com::sun::star::sdbc::XConnection connection) + raises (com::sun::star::sdbc::SQLException); + + /** returns at least the container of tables related to the given Database URL. + @param url + a database url of the form sdbc:subprotocol:subname + @param info + a list of arbitrary string tag/value pairs as connection arguments; + normally at least a "user" and "password" property should be included + @returns + the container + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + XTablesSupplier getDataDefinitionByURL( + [in]string url, + [in]sequence<com::sun::star::beans::PropertyValue> info) + raises (com::sun::star::sdbc::SQLException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl b/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl new file mode 100644 index 000000000..a3d3eac7a --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl @@ -0,0 +1,49 @@ +/* -*- 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_sdbcx_XDataDescriptorFactory_idl__ +#define __com_sun_star_sdbcx_XDataDescriptorFactory_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + module com { module sun { module star { module beans { + published interface XPropertySet; +};};};}; + + module com { module sun { module star { module sdbcx { + +/** provides the creation of a descriptor for a definition object. + */ +published interface XDataDescriptorFactory: com::sun::star::uno::XInterface +{ + + /** returns a descriptor of a definition object. + @returns + the descriptor for that kind of objects + */ + com::sun::star::beans::XPropertySet createDataDescriptor(); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XDeleteRows.idl b/offapi/com/sun/star/sdbcx/XDeleteRows.idl new file mode 100644 index 000000000..94ae17154 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XDeleteRows.idl @@ -0,0 +1,56 @@ +/* -*- 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_sdbcx_XDeleteRows_idl__ +#define __com_sun_star_sdbcx_XDeleteRows_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + + module com { module sun { module star { module sdbcx { + + +/** provides for the deletion of more than one row at a time. + */ +published interface XDeleteRows: com::sun::star::uno::XInterface +{ + + /** deletes one or more rows identified by their bookmarks. + @param rows + list of bookmarks identifying the rows. + @returns + an array of update counts containing one element for each + row. The array is ordered according to the order in + which bookmarks were given. + @throws com::sun::star::sdbc::SQLException + if a fatal error occurs, for instance, the connection gets lost if bookmarks + are used which do not belong to the according result set. + */ + sequence<long> deleteRows([in]sequence<any> rows) + raises (com::sun::star::sdbc::SQLException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XDrop.idl b/offapi/com/sun/star/sdbcx/XDrop.idl new file mode 100644 index 000000000..143a786cb --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XDrop.idl @@ -0,0 +1,65 @@ +/* -*- 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_sdbcx_XDrop_idl__ +#define __com_sun_star_sdbcx_XDrop_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + +#include <com/sun/star/container/NoSuchElementException.idl> + +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + + module com { module sun { module star { module sdbcx { + +/** provides methods to remove an element of its container and to drop it from + the related database. + */ +published interface XDrop: com::sun::star::uno::XInterface +{ + + /** drops an object of the related container identified by its name. + @param elementName + the name of the element to be dropped + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void dropByName([in]string elementName) raises + (com::sun::star::sdbc::SQLException, + com::sun::star::container::NoSuchElementException); + + /** drops an object of the related container identified by its position. + @param index + the position of the element to be dropped + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void dropByIndex([in]long index) raises (com::sun::star::sdbc::SQLException, + com::sun::star::lang::IndexOutOfBoundsException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XDropCatalog.idl b/offapi/com/sun/star/sdbcx/XDropCatalog.idl new file mode 100644 index 000000000..600219359 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XDropCatalog.idl @@ -0,0 +1,61 @@ +/* -*- 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_sdbcx_XDropCatalog_idl__ +#define __com_sun_star_sdbcx_XDropCatalog_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + +#include <com/sun/star/beans/PropertyValue.idl> + +#include <com/sun/star/container/NoSuchElementException.idl> + + module com { module sun { module star { module sdbcx { + + +/** may be implemented to hide the complexity of dropping a database catalog. Could + normally be used only in offline mode, no connection on the database. This + should be checked by the driver. + */ +published interface XDropCatalog: com::sun::star::uno::XInterface +{ + + /** drops a catalog identified by its name. + @param catalogName + the catalog name + @param info + driver specific information + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void dropCatalog([in]string catalogName, + [in]sequence<com::sun::star::beans::PropertyValue> info) + raises (com::sun::star::sdbc::SQLException, + com::sun::star::container::NoSuchElementException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XGroupsSupplier.idl b/offapi/com/sun/star/sdbcx/XGroupsSupplier.idl new file mode 100644 index 000000000..1cf0d5c84 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XGroupsSupplier.idl @@ -0,0 +1,49 @@ +/* -*- 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_sdbcx_XGroupsSupplier_idl__ +#define __com_sun_star_sdbcx_XGroupsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XNameAccess.idl> + + module com { module sun { module star { module sdbcx { + + +/** provides for access to a container of groups, typically used for a database + definition object. + */ +published interface XGroupsSupplier: com::sun::star::uno::XInterface +{ + + /** returns the container of groups. + @returns + the groups + */ + com::sun::star::container::XNameAccess getGroups(); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XIndexesSupplier.idl b/offapi/com/sun/star/sdbcx/XIndexesSupplier.idl new file mode 100644 index 000000000..093a5f37b --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XIndexesSupplier.idl @@ -0,0 +1,49 @@ +/* -*- 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_sdbcx_XIndexesSupplier_idl__ +#define __com_sun_star_sdbcx_XIndexesSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XNameAccess.idl> + + module com { module sun { module star { module sdbcx { + + +/** provides for access to a container of indexes, typically used for a table + definition object. + */ +published interface XIndexesSupplier: com::sun::star::uno::XInterface +{ + + /** returns the container of indexes. + @returns + the indexes + */ + com::sun::star::container::XNameAccess getIndexes(); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XKeysSupplier.idl b/offapi/com/sun/star/sdbcx/XKeysSupplier.idl new file mode 100644 index 000000000..558faf370 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XKeysSupplier.idl @@ -0,0 +1,49 @@ +/* -*- 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_sdbcx_XKeysSupplier_idl__ +#define __com_sun_star_sdbcx_XKeysSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XIndexAccess.idl> + + module com { module sun { module star { module sdbcx { + + +/** provides for access to a container of keys, typically used for a table + definition object. + */ +published interface XKeysSupplier: com::sun::star::uno::XInterface +{ + + /** returns the container of keys. + @returns + the keys + */ + com::sun::star::container::XIndexAccess getKeys(); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XRename.idl b/offapi/com/sun/star/sdbcx/XRename.idl new file mode 100644 index 000000000..542cc34e5 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XRename.idl @@ -0,0 +1,57 @@ +/* -*- 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_sdbcx_XRename_idl__ +#define __com_sun_star_sdbcx_XRename_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + +#include <com/sun/star/container/ElementExistException.idl> + + module com { module sun { module star { module sdbcx { + +/** supports the renaming of definition objects. + <br/> + + This is a very desirable feature which is not supported by all databases. There is no + standard SQL statement provided for this feature. + */ +published interface XRename: com::sun::star::uno::XInterface +{ + + /** is intended to alter the name of an object. + @param newName + the new name + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void rename([in]string newName) + raises (com::sun::star::sdbc::SQLException, + com::sun::star::container::ElementExistException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XRowLocate.idl b/offapi/com/sun/star/sdbcx/XRowLocate.idl new file mode 100644 index 000000000..d03480221 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XRowLocate.idl @@ -0,0 +1,142 @@ +/* -*- 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_sdbcx_XRowLocate_idl__ +#define __com_sun_star_sdbcx_XRowLocate_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + + module com { module sun { module star { module sdbcx { + + +/** is used to identify rows within a result set and to find rows by a bookmark. + + + <p> + Bookmarks are only valid in the scope of the current result set and + are not interchangeable between result sets. A bookmark could be a complex data + structure, so it could not be compared in a safe way. Because of that, a provider + has to implement the compare method for bookmarks. + </p> + */ +published interface XRowLocate: com::sun::star::uno::XInterface +{ + + /** returns the bookmark of the current row of a result set. + @returns + the current bookmark + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + any getBookmark() raises (com::sun::star::sdbc::SQLException); + + /** moves the cursor to the row identified by a valid bookmark. + + <p> + If the bookmark could not be located, a result set will be positioned + after the last record. + <br/> + If the bookmark is invalid, or not generated by the current result set, then + the behavior is not defined, even an abnormal termination is possible. + </p> + @param bookmark + the bookmark where to move + @returns + `TRUE` if successful + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + boolean moveToBookmark([in]any bookmark) raises (com::sun::star::sdbc::SQLException); + + /** moves the cursor a relative number of rows, either positive or negative + starting at a given bookmark position. + + + <p> + If the bookmark could not be located, a result set will be positioned + after the last record. + <br/> + If the bookmark is invalid, or not generated by the current result set, then + the behavior is not defined, even an abnormal termination is possible. + </p> + @param bookmark + the bookmark where to move + @param rows + count of rows move relative to the bookmark + @returns + `TRUE` if successful + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + boolean moveRelativeToBookmark([in]any bookmark, [in]long rows) + raises (com::sun::star::sdbc::SQLException); + + /** compares two bookmarks and returns an indication of their relative values. + + <p> + The bookmarks must apply to the same ResultSet. You cannot reliably + compare bookmarks from different ResultSets, even if they were created from + the same source or statement. + <br/> + A bookmark that is not valid, or incorrectly formed, will cause an exception. + </p> + @param first + the first bookmark + @param second + the second bookmark + @returns + a value of com::sun::star::sdbcx::CompareBookmark + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + + @see com::sun::star::sdbcx::CompareBookmark + + */ + long compareBookmarks([in]any first, [in]any second) + raises (com::sun::star::sdbc::SQLException); + + /** determines whether the bookmarks of a result set are ordered or not. + @returns + `TRUE` if so + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + @see com::sun::star::sdbcx::CompareBookmark + */ + boolean hasOrderedBookmarks() raises (com::sun::star::sdbc::SQLException); + + /** returns the hash value for a specified bookmark. + @param bookmark + the bookmark to hash + @returns + the hashed value + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + long hashBookmark([in]any bookmark) raises (com::sun::star::sdbc::SQLException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XTablesSupplier.idl b/offapi/com/sun/star/sdbcx/XTablesSupplier.idl new file mode 100644 index 000000000..f7c49ada6 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XTablesSupplier.idl @@ -0,0 +1,49 @@ +/* -*- 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_sdbcx_XTablesSupplier_idl__ +#define __com_sun_star_sdbcx_XTablesSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XNameAccess.idl> + + module com { module sun { module star { module sdbcx { + + +/** provides for access to a container of tables, typically used for a database + definition object. + */ +published interface XTablesSupplier: com::sun::star::uno::XInterface +{ + + /** returns the container of tables. + @returns + the tables + */ + com::sun::star::container::XNameAccess getTables(); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XUser.idl b/offapi/com/sun/star/sdbcx/XUser.idl new file mode 100644 index 000000000..639eb5499 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XUser.idl @@ -0,0 +1,50 @@ +/* -*- 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_sdbcx_XUser_idl__ +#define __com_sun_star_sdbcx_XUser_idl__ + +#include <com/sun/star/sdbcx/XAuthorizable.idl> + + module com { module sun { module star { module sdbcx { + +/** allows for changing a users password. + */ +published interface XUser: XAuthorizable +{ + + /** allows modifying a user password. + @param oldPassword + the old password to be reset + @param newPassword + the new password + @throws com::sun::star::sdbc::SQLException + if a database access error occurs. + */ + void changePassword([in]string oldPassword, [in]string newPassword) + raises (com::sun::star::sdbc::SQLException); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XUsersSupplier.idl b/offapi/com/sun/star/sdbcx/XUsersSupplier.idl new file mode 100644 index 000000000..8dd1e6546 --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XUsersSupplier.idl @@ -0,0 +1,51 @@ +/* -*- 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_sdbcx_XUsersSupplier_idl__ +#define __com_sun_star_sdbcx_XUsersSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XNameAccess.idl> + +#include <com/sun/star/sdbc/SQLException.idl> + + module com { module sun { module star { module sdbcx { + + +/** provides the access to a container of users, typically used for a database + definition object. + */ +published interface XUsersSupplier: com::sun::star::uno::XInterface +{ + + /** returns the container of users. + @returns + the users + */ + com::sun::star::container::XNameAccess getUsers(); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sdbcx/XViewsSupplier.idl b/offapi/com/sun/star/sdbcx/XViewsSupplier.idl new file mode 100644 index 000000000..88eee170b --- /dev/null +++ b/offapi/com/sun/star/sdbcx/XViewsSupplier.idl @@ -0,0 +1,49 @@ +/* -*- 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_sdbcx_XViewsSupplier_idl__ +#define __com_sun_star_sdbcx_XViewsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/container/XNameAccess.idl> + + module com { module sun { module star { module sdbcx { + + +/** provides for access to a container of views, typically used for a database + definition object. + */ +published interface XViewsSupplier: com::sun::star::uno::XInterface +{ + + /** returns the container of views. + @returns + the views + */ + com::sun::star::container::XNameAccess getViews(); +}; + + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |