summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/sdbcx
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/sdbcx
parentInitial commit. (diff)
downloadlibreoffice-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')
-rw-r--r--offapi/com/sun/star/sdbcx/CheckOption.idl52
-rw-r--r--offapi/com/sun/star/sdbcx/Column.idl116
-rw-r--r--offapi/com/sun/star/sdbcx/ColumnDescriptor.idl98
-rw-r--r--offapi/com/sun/star/sdbcx/CompareBookmark.idl62
-rw-r--r--offapi/com/sun/star/sdbcx/Container.idl94
-rw-r--r--offapi/com/sun/star/sdbcx/DatabaseDefinition.idl73
-rw-r--r--offapi/com/sun/star/sdbcx/Descriptor.idl56
-rw-r--r--offapi/com/sun/star/sdbcx/Driver.idl69
-rw-r--r--offapi/com/sun/star/sdbcx/Group.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/GroupDescriptor.idl44
-rw-r--r--offapi/com/sun/star/sdbcx/Index.idl88
-rw-r--r--offapi/com/sun/star/sdbcx/IndexColumn.idl47
-rw-r--r--offapi/com/sun/star/sdbcx/IndexColumnDescriptor.idl47
-rw-r--r--offapi/com/sun/star/sdbcx/IndexDescriptor.idl64
-rw-r--r--offapi/com/sun/star/sdbcx/Key.idl84
-rw-r--r--offapi/com/sun/star/sdbcx/KeyColumn.idl45
-rw-r--r--offapi/com/sun/star/sdbcx/KeyColumnDescriptor.idl48
-rw-r--r--offapi/com/sun/star/sdbcx/KeyDescriptor.idl66
-rw-r--r--offapi/com/sun/star/sdbcx/KeyType.idl50
-rw-r--r--offapi/com/sun/star/sdbcx/PreparedStatement.idl48
-rw-r--r--offapi/com/sun/star/sdbcx/Privilege.idl75
-rw-r--r--offapi/com/sun/star/sdbcx/PrivilegeObject.idl51
-rw-r--r--offapi/com/sun/star/sdbcx/ReferenceColumn.idl48
-rw-r--r--offapi/com/sun/star/sdbcx/ResultSet.idl75
-rw-r--r--offapi/com/sun/star/sdbcx/Statement.idl53
-rw-r--r--offapi/com/sun/star/sdbcx/Table.idl125
-rw-r--r--offapi/com/sun/star/sdbcx/TableDescriptor.idl79
-rw-r--r--offapi/com/sun/star/sdbcx/User.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/UserDescriptor.idl47
-rw-r--r--offapi/com/sun/star/sdbcx/View.idl99
-rw-r--r--offapi/com/sun/star/sdbcx/ViewDescriptor.idl65
-rw-r--r--offapi/com/sun/star/sdbcx/XAlterTable.idl78
-rw-r--r--offapi/com/sun/star/sdbcx/XAlterView.idl55
-rw-r--r--offapi/com/sun/star/sdbcx/XAppend.idl62
-rw-r--r--offapi/com/sun/star/sdbcx/XAuthorizable.idl110
-rw-r--r--offapi/com/sun/star/sdbcx/XColumnsSupplier.idl51
-rw-r--r--offapi/com/sun/star/sdbcx/XCreateCatalog.idl59
-rw-r--r--offapi/com/sun/star/sdbcx/XDataDefinitionSupplier.idl78
-rw-r--r--offapi/com/sun/star/sdbcx/XDataDescriptorFactory.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XDeleteRows.idl56
-rw-r--r--offapi/com/sun/star/sdbcx/XDrop.idl65
-rw-r--r--offapi/com/sun/star/sdbcx/XDropCatalog.idl61
-rw-r--r--offapi/com/sun/star/sdbcx/XGroupsSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XIndexesSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XKeysSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XRename.idl57
-rw-r--r--offapi/com/sun/star/sdbcx/XRowLocate.idl142
-rw-r--r--offapi/com/sun/star/sdbcx/XTablesSupplier.idl49
-rw-r--r--offapi/com/sun/star/sdbcx/XUser.idl50
-rw-r--r--offapi/com/sun/star/sdbcx/XUsersSupplier.idl51
-rw-r--r--offapi/com/sun/star/sdbcx/XViewsSupplier.idl49
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: */