From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001
From: Daniel Baumann
Date: Sun, 7 Apr 2024 11:06:44 +0200
Subject: Adding upstream version 4:7.4.7.
Signed-off-by: Daniel Baumann
---
offapi/com/sun/star/sdb/BooleanComparisonMode.idl | 64 ++++
offapi/com/sun/star/sdb/CallableStatement.idl | 47 +++
offapi/com/sun/star/sdb/Column.idl | 48 +++
.../com/sun/star/sdb/ColumnDescriptorControl.idl | 40 +++
.../sun/star/sdb/ColumnDescriptorControlModel.idl | 79 +++++
offapi/com/sun/star/sdb/ColumnSettings.idl | 119 +++++++
offapi/com/sun/star/sdb/CommandDefinition.idl | 38 ++
offapi/com/sun/star/sdb/CommandType.idl | 52 +++
offapi/com/sun/star/sdb/Connection.idl | 85 +++++
offapi/com/sun/star/sdb/ContentLoader.idl | 93 +++++
offapi/com/sun/star/sdb/DataAccessDescriptor.idl | 253 ++++++++++++++
.../sun/star/sdb/DataAccessDescriptorFactory.idl | 39 +++
offapi/com/sun/star/sdb/DataColumn.idl | 67 ++++
offapi/com/sun/star/sdb/DataSettings.idl | 84 +++++
offapi/com/sun/star/sdb/DataSource.idl | 238 +++++++++++++
offapi/com/sun/star/sdb/DataSourceBrowser.idl | 268 ++++++++++++++
offapi/com/sun/star/sdb/DatabaseAccess.idl | 106 ++++++
.../com/sun/star/sdb/DatabaseAccessConnection.idl | 85 +++++
offapi/com/sun/star/sdb/DatabaseAccessContext.idl | 77 +++++
.../com/sun/star/sdb/DatabaseAccessDataSource.idl | 61 ++++
offapi/com/sun/star/sdb/DatabaseContext.idl | 43 +++
offapi/com/sun/star/sdb/DatabaseDocument.idl | 65 ++++
offapi/com/sun/star/sdb/DatabaseEnvironment.idl | 61 ++++
.../sun/star/sdb/DatabaseInteractionHandler.idl | 61 ++++
.../com/sun/star/sdb/DatabaseRegistrationEvent.idl | 52 +++
.../star/sdb/DatasourceAdministrationDialog.idl | 103 ++++++
offapi/com/sun/star/sdb/DefinitionContainer.idl | 90 +++++
offapi/com/sun/star/sdb/DefinitionContent.idl | 65 ++++
offapi/com/sun/star/sdb/Document.idl | 51 +++
offapi/com/sun/star/sdb/DocumentContainer.idl | 118 +++++++
offapi/com/sun/star/sdb/DocumentDataSource.idl | 46 +++
offapi/com/sun/star/sdb/DocumentDefinition.idl | 90 +++++
offapi/com/sun/star/sdb/DocumentSaveRequest.idl | 53 +++
offapi/com/sun/star/sdb/ErrorCondition.idl | 161 +++++++++
offapi/com/sun/star/sdb/ErrorMessageDialog.idl | 94 +++++
offapi/com/sun/star/sdb/FilterDialog.idl | 51 +++
offapi/com/sun/star/sdb/Forms.idl | 46 +++
offapi/com/sun/star/sdb/InteractionHandler.idl | 42 +++
offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl | 226 ++++++++++++
offapi/com/sun/star/sdb/OrderColumn.idl | 46 +++
offapi/com/sun/star/sdb/OrderDialog.idl | 51 +++
offapi/com/sun/star/sdb/ParametersRequest.idl | 60 ++++
offapi/com/sun/star/sdb/PreparedStatement.idl | 52 +++
offapi/com/sun/star/sdb/Query.idl | 78 +++++
offapi/com/sun/star/sdb/QueryDefinition.idl | 42 +++
offapi/com/sun/star/sdb/QueryDescriptor.idl | 95 +++++
offapi/com/sun/star/sdb/QueryDesign.idl | 185 ++++++++++
offapi/com/sun/star/sdb/RelationDesign.idl | 77 +++++
offapi/com/sun/star/sdb/ReportDesign.idl | 39 +++
offapi/com/sun/star/sdb/Reports.idl | 46 +++
offapi/com/sun/star/sdb/ResultColumn.idl | 112 ++++++
offapi/com/sun/star/sdb/ResultSet.idl | 53 +++
offapi/com/sun/star/sdb/RowChangeAction.idl | 50 +++
offapi/com/sun/star/sdb/RowChangeEvent.idl | 50 +++
offapi/com/sun/star/sdb/RowSet.idl | 385 +++++++++++++++++++++
offapi/com/sun/star/sdb/RowSetVetoException.idl | 42 +++
offapi/com/sun/star/sdb/RowsChangeEvent.idl | 42 +++
offapi/com/sun/star/sdb/SQLContext.idl | 53 +++
offapi/com/sun/star/sdb/SQLErrorEvent.idl | 46 +++
offapi/com/sun/star/sdb/SQLFilterOperator.idl | 71 ++++
offapi/com/sun/star/sdb/SQLQueryComposer.idl | 66 ++++
.../com/sun/star/sdb/SingleSelectQueryAnalyzer.idl | 81 +++++
.../com/sun/star/sdb/SingleSelectQueryComposer.idl | 62 ++++
offapi/com/sun/star/sdb/Table.idl | 54 +++
offapi/com/sun/star/sdb/TableDefinition.idl | 45 +++
offapi/com/sun/star/sdb/TableDescriptor.idl | 50 +++
offapi/com/sun/star/sdb/TableDesign.idl | 80 +++++
offapi/com/sun/star/sdb/TextConnectionSettings.idl | 38 ++
offapi/com/sun/star/sdb/XAlterQuery.idl | 52 +++
offapi/com/sun/star/sdb/XBookmarksSupplier.idl | 51 +++
offapi/com/sun/star/sdb/XColumn.idl | 267 ++++++++++++++
offapi/com/sun/star/sdb/XColumnUpdate.idl | 199 +++++++++++
offapi/com/sun/star/sdb/XCommandPreparation.idl | 72 ++++
offapi/com/sun/star/sdb/XCompletedConnection.idl | 61 ++++
offapi/com/sun/star/sdb/XCompletedExecution.idl | 52 +++
.../sun/star/sdb/XDataAccessDescriptorFactory.idl | 52 +++
offapi/com/sun/star/sdb/XDatabaseAccess.idl | 56 +++
.../com/sun/star/sdb/XDatabaseAccessListener.idl | 44 +++
offapi/com/sun/star/sdb/XDatabaseContext.idl | 81 +++++
offapi/com/sun/star/sdb/XDatabaseEnvironment.idl | 53 +++
offapi/com/sun/star/sdb/XDatabaseRegistrations.idl | 150 ++++++++
.../star/sdb/XDatabaseRegistrationsListener.idl | 62 ++++
offapi/com/sun/star/sdb/XDocumentDataSource.idl | 60 ++++
offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl | 50 +++
.../com/sun/star/sdb/XInteractionDocumentSave.idl | 54 +++
.../sun/star/sdb/XInteractionSupplyParameters.idl | 51 +++
.../com/sun/star/sdb/XOfficeDatabaseDocument.idl | 58 ++++
offapi/com/sun/star/sdb/XParametersSupplier.idl | 49 +++
offapi/com/sun/star/sdb/XQueriesSupplier.idl | 52 +++
offapi/com/sun/star/sdb/XQueryDefinition.idl | 52 +++
.../com/sun/star/sdb/XQueryDefinitionsSupplier.idl | 48 +++
.../com/sun/star/sdb/XReportDocumentsSupplier.idl | 50 +++
offapi/com/sun/star/sdb/XResultSetAccess.idl | 59 ++++
.../com/sun/star/sdb/XRowSetApproveBroadcaster.idl | 54 +++
offapi/com/sun/star/sdb/XRowSetApproveListener.idl | 62 ++++
.../com/sun/star/sdb/XRowSetChangeBroadcaster.idl | 54 +++
offapi/com/sun/star/sdb/XRowSetChangeListener.idl | 50 +++
offapi/com/sun/star/sdb/XRowSetSupplier.idl | 59 ++++
offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl | 54 +++
offapi/com/sun/star/sdb/XRowsChangeListener.idl | 48 +++
offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl | 56 +++
offapi/com/sun/star/sdb/XSQLErrorListener.idl | 51 +++
offapi/com/sun/star/sdb/XSQLQueryComposer.idl | 148 ++++++++
.../com/sun/star/sdb/XSQLQueryComposerFactory.idl | 44 +++
.../sun/star/sdb/XSingleSelectQueryAnalyzer.idl | 227 ++++++++++++
.../sun/star/sdb/XSingleSelectQueryComposer.idl | 235 +++++++++++++
offapi/com/sun/star/sdb/XSubDocument.idl | 93 +++++
.../com/sun/star/sdb/XTextConnectionSettings.idl | 44 +++
.../star/sdb/application/CopyTableContinuation.idl | 59 ++++
.../star/sdb/application/CopyTableOperation.idl | 62 ++++
.../sun/star/sdb/application/CopyTableRowEvent.idl | 57 +++
.../sun/star/sdb/application/CopyTableWizard.idl | 219 ++++++++++++
.../sun/star/sdb/application/DatabaseObject.idl | 64 ++++
.../sdb/application/DatabaseObjectContainer.idl | 95 +++++
.../star/sdb/application/DefaultViewController.idl | 92 +++++
.../star/sdb/application/NamedDatabaseObject.idl | 78 +++++
.../star/sdb/application/XCopyTableListener.idl | 84 +++++
.../sun/star/sdb/application/XCopyTableWizard.idl | 138 ++++++++
.../star/sdb/application/XDatabaseDocumentUI.idl | 322 +++++++++++++++++
.../sun/star/sdb/application/XTableUIProvider.idl | 112 ++++++
offapi/com/sun/star/sdb/tools/CompositionType.idl | 79 +++++
offapi/com/sun/star/sdb/tools/ConnectionTools.idl | 43 +++
.../com/sun/star/sdb/tools/XConnectionSupplier.idl | 48 +++
offapi/com/sun/star/sdb/tools/XConnectionTools.idl | 129 +++++++
.../com/sun/star/sdb/tools/XDataSourceMetaData.idl | 41 +++
offapi/com/sun/star/sdb/tools/XIndexAlteration.idl | 75 ++++
offapi/com/sun/star/sdb/tools/XKeyAlteration.idl | 75 ++++
offapi/com/sun/star/sdb/tools/XObjectNames.idl | 164 +++++++++
offapi/com/sun/star/sdb/tools/XTableAlteration.idl | 94 +++++
offapi/com/sun/star/sdb/tools/XTableName.idl | 134 +++++++
offapi/com/sun/star/sdb/tools/XTableRename.idl | 57 +++
offapi/com/sun/star/sdb/tools/XViewAccess.idl | 67 ++++
132 files changed, 11114 insertions(+)
create mode 100644 offapi/com/sun/star/sdb/BooleanComparisonMode.idl
create mode 100644 offapi/com/sun/star/sdb/CallableStatement.idl
create mode 100644 offapi/com/sun/star/sdb/Column.idl
create mode 100644 offapi/com/sun/star/sdb/ColumnDescriptorControl.idl
create mode 100644 offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl
create mode 100644 offapi/com/sun/star/sdb/ColumnSettings.idl
create mode 100644 offapi/com/sun/star/sdb/CommandDefinition.idl
create mode 100644 offapi/com/sun/star/sdb/CommandType.idl
create mode 100644 offapi/com/sun/star/sdb/Connection.idl
create mode 100644 offapi/com/sun/star/sdb/ContentLoader.idl
create mode 100644 offapi/com/sun/star/sdb/DataAccessDescriptor.idl
create mode 100644 offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl
create mode 100644 offapi/com/sun/star/sdb/DataColumn.idl
create mode 100644 offapi/com/sun/star/sdb/DataSettings.idl
create mode 100644 offapi/com/sun/star/sdb/DataSource.idl
create mode 100644 offapi/com/sun/star/sdb/DataSourceBrowser.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseAccess.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseAccessConnection.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseAccessContext.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseContext.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseDocument.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseEnvironment.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl
create mode 100644 offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl
create mode 100644 offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl
create mode 100644 offapi/com/sun/star/sdb/DefinitionContainer.idl
create mode 100644 offapi/com/sun/star/sdb/DefinitionContent.idl
create mode 100644 offapi/com/sun/star/sdb/Document.idl
create mode 100644 offapi/com/sun/star/sdb/DocumentContainer.idl
create mode 100644 offapi/com/sun/star/sdb/DocumentDataSource.idl
create mode 100644 offapi/com/sun/star/sdb/DocumentDefinition.idl
create mode 100644 offapi/com/sun/star/sdb/DocumentSaveRequest.idl
create mode 100644 offapi/com/sun/star/sdb/ErrorCondition.idl
create mode 100644 offapi/com/sun/star/sdb/ErrorMessageDialog.idl
create mode 100644 offapi/com/sun/star/sdb/FilterDialog.idl
create mode 100644 offapi/com/sun/star/sdb/Forms.idl
create mode 100644 offapi/com/sun/star/sdb/InteractionHandler.idl
create mode 100644 offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
create mode 100644 offapi/com/sun/star/sdb/OrderColumn.idl
create mode 100644 offapi/com/sun/star/sdb/OrderDialog.idl
create mode 100644 offapi/com/sun/star/sdb/ParametersRequest.idl
create mode 100644 offapi/com/sun/star/sdb/PreparedStatement.idl
create mode 100644 offapi/com/sun/star/sdb/Query.idl
create mode 100644 offapi/com/sun/star/sdb/QueryDefinition.idl
create mode 100644 offapi/com/sun/star/sdb/QueryDescriptor.idl
create mode 100644 offapi/com/sun/star/sdb/QueryDesign.idl
create mode 100644 offapi/com/sun/star/sdb/RelationDesign.idl
create mode 100644 offapi/com/sun/star/sdb/ReportDesign.idl
create mode 100644 offapi/com/sun/star/sdb/Reports.idl
create mode 100644 offapi/com/sun/star/sdb/ResultColumn.idl
create mode 100644 offapi/com/sun/star/sdb/ResultSet.idl
create mode 100644 offapi/com/sun/star/sdb/RowChangeAction.idl
create mode 100644 offapi/com/sun/star/sdb/RowChangeEvent.idl
create mode 100644 offapi/com/sun/star/sdb/RowSet.idl
create mode 100644 offapi/com/sun/star/sdb/RowSetVetoException.idl
create mode 100644 offapi/com/sun/star/sdb/RowsChangeEvent.idl
create mode 100644 offapi/com/sun/star/sdb/SQLContext.idl
create mode 100644 offapi/com/sun/star/sdb/SQLErrorEvent.idl
create mode 100644 offapi/com/sun/star/sdb/SQLFilterOperator.idl
create mode 100644 offapi/com/sun/star/sdb/SQLQueryComposer.idl
create mode 100644 offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl
create mode 100644 offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl
create mode 100644 offapi/com/sun/star/sdb/Table.idl
create mode 100644 offapi/com/sun/star/sdb/TableDefinition.idl
create mode 100644 offapi/com/sun/star/sdb/TableDescriptor.idl
create mode 100644 offapi/com/sun/star/sdb/TableDesign.idl
create mode 100644 offapi/com/sun/star/sdb/TextConnectionSettings.idl
create mode 100644 offapi/com/sun/star/sdb/XAlterQuery.idl
create mode 100644 offapi/com/sun/star/sdb/XBookmarksSupplier.idl
create mode 100644 offapi/com/sun/star/sdb/XColumn.idl
create mode 100644 offapi/com/sun/star/sdb/XColumnUpdate.idl
create mode 100644 offapi/com/sun/star/sdb/XCommandPreparation.idl
create mode 100644 offapi/com/sun/star/sdb/XCompletedConnection.idl
create mode 100644 offapi/com/sun/star/sdb/XCompletedExecution.idl
create mode 100644 offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl
create mode 100644 offapi/com/sun/star/sdb/XDatabaseAccess.idl
create mode 100644 offapi/com/sun/star/sdb/XDatabaseAccessListener.idl
create mode 100644 offapi/com/sun/star/sdb/XDatabaseContext.idl
create mode 100644 offapi/com/sun/star/sdb/XDatabaseEnvironment.idl
create mode 100644 offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
create mode 100644 offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl
create mode 100644 offapi/com/sun/star/sdb/XDocumentDataSource.idl
create mode 100644 offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl
create mode 100644 offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
create mode 100644 offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl
create mode 100644 offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl
create mode 100644 offapi/com/sun/star/sdb/XParametersSupplier.idl
create mode 100644 offapi/com/sun/star/sdb/XQueriesSupplier.idl
create mode 100644 offapi/com/sun/star/sdb/XQueryDefinition.idl
create mode 100644 offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl
create mode 100644 offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl
create mode 100644 offapi/com/sun/star/sdb/XResultSetAccess.idl
create mode 100644 offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl
create mode 100644 offapi/com/sun/star/sdb/XRowSetApproveListener.idl
create mode 100644 offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl
create mode 100644 offapi/com/sun/star/sdb/XRowSetChangeListener.idl
create mode 100644 offapi/com/sun/star/sdb/XRowSetSupplier.idl
create mode 100644 offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl
create mode 100644 offapi/com/sun/star/sdb/XRowsChangeListener.idl
create mode 100644 offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl
create mode 100644 offapi/com/sun/star/sdb/XSQLErrorListener.idl
create mode 100644 offapi/com/sun/star/sdb/XSQLQueryComposer.idl
create mode 100644 offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl
create mode 100644 offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
create mode 100644 offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl
create mode 100644 offapi/com/sun/star/sdb/XSubDocument.idl
create mode 100644 offapi/com/sun/star/sdb/XTextConnectionSettings.idl
create mode 100644 offapi/com/sun/star/sdb/application/CopyTableContinuation.idl
create mode 100644 offapi/com/sun/star/sdb/application/CopyTableOperation.idl
create mode 100644 offapi/com/sun/star/sdb/application/CopyTableRowEvent.idl
create mode 100644 offapi/com/sun/star/sdb/application/CopyTableWizard.idl
create mode 100644 offapi/com/sun/star/sdb/application/DatabaseObject.idl
create mode 100644 offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl
create mode 100644 offapi/com/sun/star/sdb/application/DefaultViewController.idl
create mode 100644 offapi/com/sun/star/sdb/application/NamedDatabaseObject.idl
create mode 100644 offapi/com/sun/star/sdb/application/XCopyTableListener.idl
create mode 100644 offapi/com/sun/star/sdb/application/XCopyTableWizard.idl
create mode 100644 offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
create mode 100644 offapi/com/sun/star/sdb/application/XTableUIProvider.idl
create mode 100644 offapi/com/sun/star/sdb/tools/CompositionType.idl
create mode 100644 offapi/com/sun/star/sdb/tools/ConnectionTools.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XConnectionSupplier.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XConnectionTools.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XIndexAlteration.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XKeyAlteration.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XObjectNames.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XTableAlteration.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XTableName.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XTableRename.idl
create mode 100644 offapi/com/sun/star/sdb/tools/XViewAccess.idl
(limited to 'offapi/com/sun/star/sdb')
diff --git a/offapi/com/sun/star/sdb/BooleanComparisonMode.idl b/offapi/com/sun/star/sdb/BooleanComparisonMode.idl
new file mode 100644
index 000000000..0234e736e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/BooleanComparisonMode.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_sdb_BooleanComparisonMode_idl__
+#define __com_sun_star_sdb_BooleanComparisonMode_idl__
+
+
+module com { module sun { module star { module sdb {
+
+
+/** specifies different mode how boolean comparison predicates are to be generated
+ by a SingleSelectQueryComposer.
+ */
+constants BooleanComparisonMode
+{
+ /** denotes the default comparison
+
+ Most databases support comparing boolean expressions or column values directly with
+ integer values: column = 0
respectively column = 1
.
+ */
+ const long EQUAL_INTEGER = 0;
+
+ /** requires to use IS boolean_literal
for boolean comparison.
+
+ That is, the generated comparison predicates will be column IS TRUE
resp.
+ column IS FALSE
.
+ */
+ const long IS_LITERAL = 1;
+
+ /** requires to use = boolean_literal
for boolean comparison.
+
+ That is, the generated comparison predicates will be column = TRUE
resp.
+ column = FALSE
.
+ */
+ const long EQUAL_LITERAL = 2;
+
+ /** requires to use an Microsoft Access compatible syntax for boolean comparison.
+ */
+ const long ACCESS_COMPAT = 3;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/CallableStatement.idl b/offapi/com/sun/star/sdb/CallableStatement.idl
new file mode 100644
index 000000000..1769b61c3
--- /dev/null
+++ b/offapi/com/sun/star/sdb/CallableStatement.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_sdb_CallableStatement_idl__
+#define __com_sun_star_sdb_CallableStatement_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** represents a procedure call. The service differs only in the access
+ of the columns and parameters to the service
+ com::sun::star::sdbc::CallableStatement.
+*/
+published service CallableStatement
+{
+ service com::sun::star::sdbc::CallableStatement;
+
+ service com::sun::star::sdb::PreparedStatement;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Column.idl b/offapi/com/sun/star/sdb/Column.idl
new file mode 100644
index 000000000..42fe706a9
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Column.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_sdb_Column_idl__
+#define __com_sun_star_sdb_Column_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes the common properties of a database column.
+ */
+published service Column
+{
+ service com::sun::star::sdbcx::Column;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::ColumnSettings;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ColumnDescriptorControl.idl b/offapi/com/sun/star/sdb/ColumnDescriptorControl.idl
new file mode 100644
index 000000000..b12645563
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnDescriptorControl.idl
@@ -0,0 +1,40 @@
+/* -*- 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_sdb_ColumnDescriptorControl_idl__
+#define __com_sun_star_sdb_ColumnDescriptorControl_idl__
+
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** specifies a column descriptor control.
+ */
+service ColumnDescriptorControl
+{
+ service com::sun::star::awt::UnoControl;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl b/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.idl
new file mode 100644
index 000000000..079646ab2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnDescriptorControlModel.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_sdb_ColumnDescriptorControlModel_idl__
+#define __com_sun_star_sdb_ColumnDescriptorControlModel_idl__
+
+#include
+
+
+ module com { module sun { module star {
+ module sdbc {
+ interface XConnection;
+ };
+ module beans {
+ interface XPropertySet;
+ };};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** specifies the standard model of a ColumnDescriptorControl.
+ */
+service ColumnDescriptorControlModel
+{
+ service com::sun::star::awt::UnoControlModel;
+
+
+ /** specifies the border style of the control.
+
+
+ 0: No border
+ 1: 3D border
+ 2: simple border
+
+ */
+ [property] short Border;
+
+
+ /** determines whether the control is enabled or disabled.
+ */
+ [property] boolean Enabled;
+
+
+
+ /** specifies that the control can be reached with the TAB key.
+ */
+ [property] boolean Tabstop;
+
+ /** specifies the column descriptor where the values will be stored in.
+ */
+ [property] ::com::sun::star::beans::XPropertySet Column;
+
+ /** specifies the connection to a database.
+ */
+ [property] ::com::sun::star::sdbc::XConnection ActiveConnection;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ColumnSettings.idl b/offapi/com/sun/star/sdb/ColumnSettings.idl
new file mode 100644
index 000000000..38d60e5c2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ColumnSettings.idl
@@ -0,0 +1,119 @@
+/* -*- 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_sdb_ColumnSettings_idl__
+#define __com_sun_star_sdb_ColumnSettings_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes the common properties of a database column.
+ */
+published service ColumnSettings
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** contains the index of the number format that is used for the
+ column.
+
+ The proper value can be determined by using the
+ com::sun::star::util::XNumberFormatter
+ interface.
+
+
+ If the value is
+ `VOID`
+ , a default number format should be used according to the datatype of the column.
+
+
+ */
+ [property] long FormatKey;
+
+
+ /** specifies the alignment of columns text.
+
+
+ 0: left
+ 1: center
+ 2: right
+
+
+ If the value is
+ `VOID`
+ , a default alignment should be used according
+ to the datatype of the column.
+
+ */
+ [property] long Align;
+
+
+ /** specifies the width of the column displayed in a grid, the unit is 10THMM.
+
+
+ If the value is
+ `VOID`
+ , a default width should be used according to the label of the column.
+
+ */
+ [property] long Width;
+
+
+ /** Position of the column within a grid.
+
+
+ If the value is
+ `VOID`
+ , the default position should be taken according.
+
+ */
+ [property] long Position;
+
+
+ /** determines whether the column should be displayed or not.
+ */
+ [property] boolean Hidden;
+
+
+ /** indicates a control model which defines the settings for layouting.
+ The default is `NULL`.
+ */
+ [optional, property] com::sun::star::beans::XPropertySet ControlModel;
+
+ /** describes an optional help text which can be used by UI components
+ when representing this column.
+ The default is `NULL`.
+ */
+ [optional, property] string HelpText;
+
+ /** describes the default value which should be displayed by a control when moving to a new row.
+ The default is `NULL`.
+ */
+ [optional, property] string ControlDefault;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/CommandDefinition.idl b/offapi/com/sun/star/sdb/CommandDefinition.idl
new file mode 100644
index 000000000..0a27a049d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/CommandDefinition.idl
@@ -0,0 +1,38 @@
+/* -*- 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_sdb_CommandDefinition_idl__
+#define __com_sun_star_sdb_CommandDefinition_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+/**
+ @since LibreOffice 4.1
+ */
+service CommandDefinition : com::sun::star::sdbcx::XRename;
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/CommandType.idl b/offapi/com/sun/star/sdb/CommandType.idl
new file mode 100644
index 000000000..60a32b584
--- /dev/null
+++ b/offapi/com/sun/star/sdb/CommandType.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_sdb_CommandType_idl__
+#define __com_sun_star_sdb_CommandType_idl__
+
+ module com { module sun { module star { module sdb {
+
+
+/** indicates the type of a command.
+ */
+published constants CommandType
+{
+
+ /** indicates that a command contains a table name, which can be used to
+ process a command like "select * from tablename".
+ */
+ const long TABLE = 0;
+
+ /** indicates that a command contains a name of a query component, which
+ contains a certain statement.
+ */
+ const long QUERY = 1;
+
+ /** indicates that the command is an SQL-Statement.
+ */
+ const long COMMAND = 2;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Connection.idl b/offapi/com/sun/star/sdb/Connection.idl
new file mode 100644
index 000000000..e4232d28b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Connection.idl
@@ -0,0 +1,85 @@
+/* -*- 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_sdb_Connection_idl__
+#define __com_sun_star_sdb_Connection_idl__
+
+#include
+
+#include
+
+#include
+
+module com { module sun { module star { module lang {
+ published interface XMultiServiceFactory;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+ published interface XSQLQueryComposerFactory;
+ published interface XQueriesSupplier;
+ published interface XCommandPreparation;
+
+ module application { interface XTableUIProvider; };
+
+/** extends the
+ com::sun::star::sdbc::Connection
+ of SDBC by providing the data definitions of a connected database.
+ */
+published service Connection
+{
+ service com::sun::star::sdbc::Connection;
+
+ /** access to the owning data source.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** interface for complex command execution.
+ */
+ interface XCommandPreparation;
+
+ /** access to the database definition information of the connection.
+ */
+ service com::sun::star::sdbcx::DatabaseDefinition;
+
+ /** returns a container of associated queries.
+ */
+ interface XQueriesSupplier;
+
+ /** returns a tool for composing queries.
+ */
+ interface XSQLQueryComposerFactory;
+
+ /** allows the creation of different services which can only exists with a connection.
+ */
+ [optional] interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** allows the connection to overrule the database application's default
+ user interface for tables.
+ */
+// [optional] interface com::sun::star::sdb::application::XTableUIProvider;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ContentLoader.idl b/offapi/com/sun/star/sdb/ContentLoader.idl
new file mode 100644
index 000000000..85cb69e66
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ContentLoader.idl
@@ -0,0 +1,93 @@
+/* -*- 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_sdb_ContentLoader_idl__
+#define __com_sun_star_sdb_ContentLoader_idl__
+
+#include
+
+module com { module sun { module star { module sdb {
+
+/** implements a loader for various datasource-related user interface components.
+
+ Usually, you don't deal with this loader directly. Instead, use an instance with
+ the com::sun::star::frame::XComponentLoader interface, and pass
+ one of the below-mentioned URLs to it.
+
+ @see com::sun::star::frame::XComponentLoader
+ @see com::sun::star::frame::Desktop
+*/
+published service ContentLoader
+{
+ /** ensures the basic functionality.
+
+
+ Supporting this service ensures that you can plug any of the components
+ the loader can create into an arbitrary frame.
+
+
+ The loader should be registered for the URL scheme
+
+ .component:DB/ *
+
+ , the concrete URLs supported are:
+
+ - .component:DB/DataSourceBrowser
+ Using this URL creates an instance of the
+ com::sun::star::sdb::DataSourceBrowser
+ service and plugs it into the frame passed to the loader.
+
+ - .component:DB/FormGridView
+ Using this URL creates an instance of the
+ com::sun::star::sdb::ExternalSourceBrowser
+ service and plugs it into the frame passed to the loader.
+
+ - .component:DB/QueryDesign
+ Using this URL creates an instance of the
+ com::sun::star::sdb::QueryDesign
+ service and plugs it into the frame passed to the loader.
+
+ - .component:DB/TableDesign
+ Using this URL creates an instance of the
+ com::sun::star::sdb::TableDesign
+ service and plugs it into the frame passed to the loader.
+
+ - .component:DB/RelationDesign
+ Using this URL creates an instance of the
+ com::sun::star::sdb::RelationDesign
+ service and plugs it into the frame passed to the loader.
+
+
+
+ The parameters passed to the
+ com::sun::star::frame::XFrameLoader::load()
+ are forwarded to the object being created,
+ in particular to its
+ com::sun::star::lang::XInitialization
+ interface.
+ **/
+ service com::sun::star::frame::FrameLoader;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataAccessDescriptor.idl b/offapi/com/sun/star/sdb/DataAccessDescriptor.idl
new file mode 100644
index 000000000..d3734b764
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataAccessDescriptor.idl
@@ -0,0 +1,253 @@
+/* -*- 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_sdb_DataAccessDescriptor_idl__
+#define __com_sun_star_sdb_DataAccessDescriptor_idl__
+
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/** descriptor for accessing basic data access objects.
+
+ Various components interacting with the database access world require to specify (or provide themselves) an object
+ such as a query, a table, a result set, a connection to a data source, a column within a table, and so on.
+ All of these objects are usually not specified with a single property, but with a set of properties, and for
+ various objects, various (but not always different) properties are needed.
+ The DataAccessDescriptor
describes the super set of the properties for the most common
+ data access objects.
+
+ Every component providing or requiring a DataAccessDescriptor for some functionality
+ is urged to specify which properties are mandatory, and which ones optional. Additionally,
+ it's free to specify any additional requirements about the relations of properties.
+
+ @since OOo 1.1.2
+*/
+published service DataAccessDescriptor
+{
+ /** specifies the name of the datasource to access.
+
+ This data source is usually used to create a Connection. If no DataSourceName is given
+ and the #DatabaseLocation and the #ConnectionResource are empty, then an #ActiveConnection
+ is required.
+
+ @see com::sun::star::sdb::DatabaseContext
+ @see ActiveConnection
+ */
+ [optional, property] string DataSourceName;
+
+ /** specifies the URL of the database file.
+
+ This database location is usually used to create a Connection. If no DatabaseLocation is given
+ and the #ConnectionResource is empty, then an #ActiveConnection is required.
+
+ @see com::sun::star::sdb::DatabaseContext
+ @see ActiveConnection
+ */
+ [optional, property] string DatabaseLocation;
+
+ /** specifies the database URL which locates a database driver.
+
+ This database URL is usually used to create a Connection. If no ConnectionResource is given,
+ then an #ActiveConnection is required.
+
+ @see com::sun::star::sdb::DatabaseContext
+ @see ActiveConnection
+ */
+ [optional, property] string ConnectionResource;
+
+ /** specifies additional info to use when creating a connection from a ConnectionResource
+
+ This member is evaluated only when ConnectionResource
is used: In this case,
+ com::sun::star::sdbc::XDriverManager::getConnectionWithInfo() is used
+ to create a connection for the given connection resource, instead of
+ com::sun::star::sdbc::XDriverManager::getConnection().
+
+ If the sequence is empty, it is ignored.
+ */
+ [optional, property] sequence< ::com::sun::star::beans::PropertyValue > ConnectionInfo;
+
+ /** is a connection to use.
+
+ This object is guaranteed to be a com::sun::star::sdbc::Connection, but usually
+ it will be a Connection from the module com::sun::star::sdb.
+ Especially in the case where no #DataSourceName is given, but
+ #CommandType is CommandType::QUERY, the ActiveConnection needs
+ to fully support the Connection service, to actually retrieve the query specified by
+ #Command
+
+ If no ActiveConnection is given, then a #DataSourceName is required.
+
+ @see DataSourceName
+ */
+ [optional, property] com::sun::star::sdbc::XConnection ActiveConnection;
+
+ /** specifies the command to execute to retrieve a result set.
+
+ This property is only meaningful together with the #CommandType
+ property, thus either both or none of them are present.
+
+ @see CommandType
+ */
+ [optional, property] string Command;
+
+
+ /** specifies the type of the command to be executed to retrieve a result set.
+
+ #Command needs to be interpreted depending on the value of this property.
+
+ This property is only meaningful together with the #Command
+ property, thus either both or none of them are present.
+
+ @see com::sun::star::sdb::CommandType
+ */
+ [optional, property] long CommandType;
+
+ /** specifies an additional filter to optionally use.
+
+ The Filter string has to form a WHERE
-clause, without the
+ WHERE
-string itself.
+
+ If a #DataSourceName, #Command and #CommandType
+ are specified, a RowSet can be created with this information. If the results provided by the
+ row set are to be additionally filtered, the Filter property can be used.
+
+ Note that the Filter property does not make sense if a #ResultSet has been specified
+ in the DataAccessDescriptor.
+
+ @see com::sun::star::sdb::RowSet
+ @see ResultSet
+ */
+ [optional, property] string Filter;
+
+ /** specifies an additional ORDER BY
clause which should be applied on top of
+ the given #Command.
+
+ The keyword ORDER BY
itself is not part of this property.
+ */
+ [optional, property] string Order;
+
+ /** specifies an additional HAVING
clause which should be applied on top of
+ the given #Command.
+
+ The keyword HAVING
itself is not part of this property.
+ */
+ [optional, property] string HavingClause;
+
+ /** specifies an additional GROUP BY
clause which should be applied on top of
+ the given #Command.
+
+ The keyword GROUP BY
itself is not part of this property.
+ */
+ [optional, property] string GroupBy;
+
+ /** specifies if the #Command should be analyzed on the client side before sending it
+ to the database server.
+
+ The default value of this property is `TRUE`. By switching it to `FALSE`, you can pass
+ backend-specific SQL statements, which are not standard SQL, to your database.
+
+ This property is usually present together with the #Command and
+ #CommandType properties, and is evaluated if and only if #CommandType
+ equals CommandType::COMMAND.
+ */
+ [optional, property] boolean EscapeProcessing;
+
+ /** specifies an already existent result set to use.
+
+ Usually, you use the properties #DataSourceName (alternatively
+ #ActiveConnection), #Command and #CommandType to specify
+ how to obtain a result set. However, in scenarios where the provider of a DataAccessDescriptor
+ has access to an already existent result set, it can pass it along for reusage. This is encouraged
+ to increase performance.
+
+ The object will at least support the com::sun::star::sdbc::ResultSet service.
+
+ Note that any superservices of com::sun::star::sdbc::ResultSet
+ are also allowed. Especially, this member can denote an instance of the
+ com::sun::star::sdb::RowSet, or an instance obtained
+ by calling com::sun::star::sdb::XResultSetAccess::createResultSet()
+ on such a com::sun::star::sdb::RowSet. This becomes important in
+ conjunction with the #Selection property.
+
+ @see com::sun::star::sdb::XResultSetAccess
+ */
+ [optional, property] com::sun::star::sdbc::XResultSet ResultSet;
+
+ /** specifies a selection to confine the records in a result set.
+
+ When you specify a result set either implicitly (#DataSourceName, #Command,
+ #CommandType) or explicitly (#ResultSet), the set of results can be
+ additionally refined with this property.
+
+ The single elements of the #Selection are either record numbers (see
+ com::sun::star::sdbc::XResultSet::getRow()), or bookmarks (see
+ com::sun::star::sdbcx::XRowLocate::getBookmark()).
+ It is up to the component which provides or requires a DataAccessDescriptor to specify which of the
+ two alternatives it expects. If it does not specify this, then the property
+ #BookmarkSelection becomes mandatory.
+
+ If the elements specify bookmarks, and a #ResultSet has been specified, then
+ this result set is required to support the com::sun::star::sdbcx::XRowLocate interface.
+ */
+ [optional, property] sequence< any > Selection;
+
+ /** specifies how to interpret #Selection
+
+ If present, #BookmarkSelection specifies the semantics of #Selection. If
+ not present, it's up to the implementing component to specify this semantics.
+
+ If `TRUE`, then the single elements of the array specified by #Selection are
+ bookmarks relative to the result set, if `FALSE`, they're record numbers.
+
+ @see com::sun::star::sdbcx::XRowLocate
+ @see com::sun::star::sdbc::XResultSet
+ @see com::sun::star::sdb::XResultSetAccess
+ */
+ [optional, property] boolean BookmarkSelection;
+
+ /** specifies a column name.
+
+ This property is usually used together with the #Command and
+ #CommandType properties.
+
+ @see Column
+ */
+ [optional, property] string ColumnName;
+
+ /** specifies a column object
+
+ For reasons of performance and saving resources, a supplier of an DataAccessDescriptor which is
+ used to describe a column object can pass this object directly, instead of specifying it only implicitly
+ with the #ColumnName property.
+
+ The object will at least support the com::sun::star::sdbcx::Column service, but more
+ often it will even be a Column from the com::sun::star::sdb module.
+ */
+ [optional, property] com::sun::star::beans::XPropertySet Column;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl b/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl
new file mode 100644
index 000000000..61e01b2df
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataAccessDescriptorFactory.idl
@@ -0,0 +1,39 @@
+/* -*- 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_sdb_DataAccessDescriptorFactory_idl__
+#define __com_sun_star_sdb_DataAccessDescriptorFactory_idl__
+
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/** allows creating instances of the DataAccessDescriptor service.
+*/
+singleton DataAccessDescriptorFactory : XDataAccessDescriptorFactory;
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataColumn.idl b/offapi/com/sun/star/sdb/DataColumn.idl
new file mode 100644
index 000000000..46d28e3b5
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataColumn.idl
@@ -0,0 +1,67 @@
+/* -*- 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_sdb_DataColumn_idl__
+#define __com_sun_star_sdb_DataColumn_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+ published interface XColumn;
+ published interface XColumnUpdate;
+
+
+/** defines a column used for a result set which contains the data definition
+ and the data of the column of the current row of a result set.
+ */
+published service DataColumn
+{
+ service com::sun::star::sdb::ResultColumn;
+
+
+ /** is used to retrieve the columns value.
+ */
+ interface XColumn;
+
+
+ /** is used to update the columns value.
+ */
+ interface XColumnUpdate;
+
+
+ /** contains the column's value. This could be a constraint property, to
+ veto modifications, if a new value does not fit into rules
+ defined for the column.
+ */
+ [optional, property] any Value;
+
+
+ /** contains the original value of the column.
+ */
+ [optional, readonly, property] any OriginalValue;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataSettings.idl b/offapi/com/sun/star/sdb/DataSettings.idl
new file mode 100644
index 000000000..6fd16d175
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSettings.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_sdb_DataSettings_idl__
+#define __com_sun_star_sdb_DataSettings_idl__
+
+#include
+
+#include
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the
+ com::sun::star::sdbcx::Table
+ with additional display information, sorting and filtering criteria.
+
+ */
+published service DataSettings
+{
+
+ /** additional filter for the data object.
+ */
+ [property] string Filter;
+
+
+ /** indicates whether the filter should be applied or not,
+ default is `FALSE`.
+ */
+ [property] boolean ApplyFilter;
+
+
+ /** is an additional sort order definition.
+ */
+ [property] string Order;
+
+
+ /** specifies the font attributes for data displaying.
+ */
+ [property] com::sun::star::awt::FontDescriptor FontDescriptor;
+
+
+ /** specifies the height of a data row.
+ */
+ [property] long RowHeight;
+
+
+ /** specifies the text color (RGB) for displaying text.
+ */
+ [property] com::sun::star::util::Color TextColor;
+
+ /** additional having clause for the data object.
+ */
+ [optional,property] string HavingClause;
+
+ /** additional group by for the data object.
+ */
+ [optional,property] string GroupBy;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataSource.idl b/offapi/com/sun/star/sdb/DataSource.idl
new file mode 100644
index 000000000..663595081
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSource.idl
@@ -0,0 +1,238 @@
+/* -*- 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_sdb_DataSource_idl__
+#define __com_sun_star_sdb_DataSource_idl__
+
+#include
+
+#include
+
+#include
+
+#include
+
+#include
+
+
+ module com { module sun { module star { module sdbc {
+ published interface XIsolatedConnection;
+ published interface XDataSource;
+ };};};};
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XCompletedConnection;
+ published interface XQueryDefinitionsSupplier;
+ published interface XBookmarksSupplier;
+
+
+/** is a factory to establish database connections. It should be registered at
+ a com::sun::star::uno::NamingService.
+ @see com::sun::star::sdb::DatabaseContext
+ */
+published service DataSource
+{
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** useful for establishing connections with the completion of connection parameters
+ provided during user interaction.
+ */
+ interface XCompletedConnection;
+
+ /** useful for establishing isolated connections which are not shared among others
+ as it is the case when using XCompletedConnection or com::sun::star::sdbc::XDataSource.
+ @see XCompletedConnection
+ @see com::sun::star::sdbc::XDataSource
+ @since OOo 1.1.2
+ */
+ interface com::sun::star::sdbc::XIsolatedConnection;
+
+
+ /** is provided to flush a DataSource within to a Database Context.
+ */
+ interface com::sun::star::util::XFlushable;
+
+
+ /** provides the access to DataSource related queries.
+
+ The object returned by the
+ com::sun::star::sdb::XQueryDefinitionsSupplier::getQueryDefinitions()
+ supports the
+ com::sun::star::sdb::DefinitionContainer
+ service.
+
+ */
+ interface XQueryDefinitionsSupplier;
+
+ /* useful for establishing connections and to get and set the login timeout.
+ */
+ interface com::sun::star::sdbc::XDataSource;
+
+ /** provides access to bookmarks to documents associated with the data source
+
+ The object returned by the
+ com::sun::star::sdb::XBookmarksSupplier::getBookmarks()
+ supports the
+ com::sun::star::sdb::DefinitionContainer
+ service.
+
+ */
+ [optional] interface XBookmarksSupplier;
+
+ /** is the name of the data source.
+
+ If the data source is registered at the database context, then the Name
property
+ denotes the registration name. Otherwise, the name property contains the URL of the file which the
+ database document associated with the data source is based on.
+
+ If the same data source is registered under different names, the value of the Name
+ property is not defined.
+ */
+ [readonly, property] string Name;
+
+
+ /** indicates a database url of the form
+ jdbc:subprotocol:subname
+ or
+ sdbc:subprotocol:subname
+ */
+ [property] string URL;
+
+
+ /** is a list of arbitrary string tag/value pairs as connection arguments
+
+ The DataSource itself does not attempt to interpret any of those values.
+
+ Instead, the values in this property have two use cases:
+
- Upon creating a connection, for every value in this sequence it's checked
+ whether the com::sun::star::sdbc::XDriver which is to provide
+ the connection supports a setting with the respective name, using its
+ com::sun::star::sdbc::XDriver::getPropertyInfo() method.br/>
+ If so, the settings is passed to the driver's
+ com::sun::star::sdbc::XDriver::connect() method. If not,
+ the setting is ignored.
+ - External components may use the settings to carry arbitrary information with
+ the data source. Usually, this is used to control the behavior of components
+ working with the data source.
+
+ */
+ [property] sequence Info;
+
+ /** is a convenience wrapper around the #Info property.
+
+ Since fiddling around with a sequence of property values is somewhat uncomfortable
+ in all known UNO language bindings (especially for tasks like simply changing the value
+ of an existing value), the #Settings property wraps the #Info
+ property for easier single-value access.
+
+ You should use the #Settings property if you need to access a few properties only,
+ and the #Info property if you need access to all existent settings at once.
+
+ The object represented by this property supports the com::sun::star::beans::PropertyBag
+ service. That is, you can at runtime add arbitrary new properties to the bag.
+
+ Additionally, the property bag supports default values of properties, and thus the
+ com::sun::star::beans::XPropertyState interface. If you add an own property to
+ the bag using com::sun::star::beans::XPropertyContainer::addProperty(), you need
+ to specify an initial value, which is also used as default value (exceptions see below).
+
+ Effectively, the property bag represented by Settings
contains two classes of properties:
+ Pre-defined ones and user-defined ones.
+
+ Pre-defined properties are properties which are potentially used by the data source, the
+ application UI for the data source, or a particular backend driver employed by the data source. There's
+ a large set of such properties, no all of them are effectively used for a concrete data source, nonetheless,
+ they're all present in the Settings
.
+ Such properties are not removable from the bag, that is, their
+ com::sun::star::beans::PropertyAttribute::REMOVABLE attribute is not set.
+ Usually, you'll find that all of this properties have the
+ com::sun::star::beans::PropertyState::PropertyState_DEFAULT_VALUE state.
+
+ User-defined properties are the ones which are added at runtime by any instance. They might or might
+ not be removable, this depends on whether or not the code adding them specifies the
+ com::sun::star::beans::PropertyAttribute::REMOVABLE attribute. Also, they might
+ or might not have a default value, determined by the
+ com::sun::star::beans::PropertyAttribute::MAYBEDEFAULT attribute at the time they're added
+ to the bag.
+
+ When a data source is made persistent, then properties which are not removable (which are assumed to be the
+ pre-defined properties) are ignored when they are in DEFAULT
state. All other properties are
+ always made persistent, except when an explicit
+ com::sun::star::beans::PropertyAttribute::TRANSIENT attribute prohibits this.
+
+ Similar, when you obtain the #Info property of a DataSource
, the
+ Settings
bag is asked for all its property values, and the ones which are removable and
+ in state default are stripped, and not returned in the Info
sequence.
+ */
+ [property, readonly, optional] com::sun::star::beans::XPropertySet Settings;
+
+ /** determines a users login name.
+ */
+ [property] string User;
+
+
+ /** determines a users password. The password is not persistent.
+ */
+ [property] string Password;
+
+
+ /** indicates that a password is always necessary.
+ */
+ [property] boolean IsPasswordRequired;
+
+
+ /** indicates that components displaying data obtained from this
+ data source should suppress columns used for versioning.
+ */
+ [property] boolean SuppressVersionColumns;
+
+
+ /** determines whether modifications on the data source are allowed or not.
+ */
+ [readonly, property] boolean IsReadOnly;
+
+
+ /** provides an object for formatting numbers.
+ */
+ [readonly, property] com::sun::star::util::XNumberFormatsSupplier
+ NumberFormatsSupplier;
+
+
+ /** defines a list of tables, on which the DataSource should have it's focus.
+ If empty, all tables are rejected.
+
+ */
+ [property] sequence TableFilter;
+
+
+ /** defines a list of table types, on which the DataSource should have it's focus.
+ If empty, all table types are rejected.
+
+ */
+ [property] sequence TableTypeFilter;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DataSourceBrowser.idl b/offapi/com/sun/star/sdb/DataSourceBrowser.idl
new file mode 100644
index 000000000..615fc0639
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DataSourceBrowser.idl
@@ -0,0 +1,268 @@
+/* -*- 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_sdb_DataSourceBrowser_idl__
+#define __com_sun_star_sdb_DataSourceBrowser_idl__
+
+#include
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/** implements a component which allows browsing the data sources registered on the system.
+
+
+ This service implements a user interface for browsing data sources registered on the
+ com::sun::star::sdb::DatabaseContext
+ instance of the system.
+
+
+
+ It is possible to navigate through all the data sources, it's queries and it's tables.
+ The queries/tables can be displayed in a grid-like view, where functionality for searching,
+ sorting, filtering, and such is provided.
+
+
+
+ Usually, you won't instantiate this service directly, instead you use the dispatch mechanisms
+ of the application framework to load the URL .component:DB/DataSourceBrowser into an arbitrary
+ frame. This should involve a
+ com::sun::star::sdb::ContentLoader
+ service, which creates and initializes
+ the browser.
+
+
+
+ Some aspects of the browser can be controlled from outside, e.g.,
+ it is possible to dispatch a sort or filter
+ request, if a table or query is being displayed.
+
+
+ The communication between the browser and external instances works in two ways.
+
+ The way in is provided by the
+ com::sun::star::frame::XDispatchProvider
+ interface the service exports (Please see below for more details on this).
+
+ The way out works in another way. There are several URLs which an external
+ instance can provide dispatches for (usually by implementing a
+ com::sun::star::frame::XDispatchProviderInterceptor
+ for the parent frame of the browser), thus indicating that the browser should provide special functionality.
+
+ In this case, the browser displays and maintains some additional slots (to be more concrete: toolbox items), which,
+ upon triggering, call the
+ com::sun::star::frame::XDispatch::dispatch() method of the object
+ provided by the external instance.
+
+
+
+ In particular, the supported URLs for communicating to an external instance are:
+
+ - .uno:DataSourceBrowser/InsertColumns
+
+ Available whenever an external instance provides a dispatcher (
+ com::sun::star::frame::XDispatch)
+ for this URL.
+
+ Enabled, if at least one row in the grid view of a table or query is selected.
+
+ It is the task of the external instance to provide functionality for this URL, but usually it is used
+ to implement some kind of "Data To Text" functionality.
+
+
+ - .uno:DataSourceBrowser/InsertContent
+
+ Available whenever an external instance provides a dispatcher(
+ com::sun::star::frame::XDispatch
+ ) for this URL.
+
+ Enabled, if at least one row in the grid view of a table or query is selected.
+
+ It is the task of the external instance to provide functionality for this URL, but usually it is used
+ to implement some kind of "Data To Fields" functionality.
+
+
+ - .uno:DataSourceBrowser/FormLetter
+
+ Available whenever an external instance provides a dispatcher (
+ com::sun::star::frame::XDispatch) for this URL.
+
+ It is the task of the external instance to provide functionality for this URL, but usually it is used
+ to implement some kind of "Form Letter" functionality.
+
+
+
+
+ For all kinds of URLs, the parameters supplied during dispatching build up a DataAccessDescriptor,
+ where the following properties are present:
+
+ - DataAccessDescriptor::DataSourceName
+ - DataAccessDescriptor::Command
+ - DataAccessDescriptor::CommandType
+ - optional DataAccessDescriptor::Selection
+ - optional DataAccessDescriptor::BookmarkSelection
+ - optional DataAccessDescriptor::ResultSet
+
+
+ The default for DataAccessDescriptor::Selection is to contain bookmarks, if not specified
+ otherwise by DataAccessDescriptor::BookmarkSelection.
+
+
+ @see com::sun::star::sdb::ContentLoader
+ @see com::sun::star::sdb::DatabaseContext
+ @see com::sun::star::sdb::DataSource
+ @see com::sun::star::frame::XDispatch
+ @see com::sun::star::frame::XDispatchProvider
+ @see com::sun::star::frame::XDispatchProviderInterceptor
+*/
+published service DataSourceBrowser
+{
+ /** implements basic form controller functionality.
+
+ With a data source browser implementing this interface, external components have access to
+
- the grid control which is used to display the currently selected table/query
+ (see com::sun::star::awt::XTabController::getControls())
+
+ - the data form used for displaying objects. As always for components implementing this service,
+ the object returned by
+ com::sun::star::awt::XTabController::getModel() is a dataform.
+
+
+
+ */
+ [optional] service com::sun::star::form::FormController;
+
+ /** allows the component to be plugged into frames.
+ */
+ interface com::sun::star::frame::XController;
+
+ /** is used to initialize the browser.
+
+
+ Parameters (passed to the method com::sun::star::lang::XInitialization::initialize())
+ have to be instances of com::sun::star::beans::PropertyValue, or
+ instances of com::sun::star::beans::NamedValue, where the Name
member
+ specifies what the parameter controls, with the Value
member containing the value to be used.
+
+ Recognized parameters are:
+
+ - Frame
+ has to be an com::sun::star::frame::XFrame interface specifying the frame to
+ plug the browser component into.
+
+ - DataSourceName
+ The name of the globally registered DataSource to be used for initial display. It is only
+ meaningful together with the other parameters specifying the object to display.
+
+ - CommandType
+ This has to be a CommandType value, specifying the type of the object to display initially.
+ It is only meaningful together with the DataSourceName and the Command parameters.
+
+ - Command
+ This is a string giving the name of the object to display initially. Whether it is table name, a query
+ name or a SQL string is controller by the CommandType parameter.
+
+ - EnableBrowser
+ is a boolean value (defaulting to `TRUE`), which specifies whether to enable the data source browser
+ control. This is a tree control on the left hand side of the view, which allows to browse all registered
+ data sources, including their tables and queries.
+
+ - ShowBrowser
+ is a boolean value (defaulting to `TRUE`), which specifies whether to initially show the data source
+ browser control. If EnableBrowser
is `FALSE`, then this parameter is ignored. If
+ EnableBrowser
is `TRUE`, and ShowBrowser
is `FALSE`, then the control
+ is initially hidden, but can be toggled by a toolbar button.
+
+ - ShowMenu
+ is a boolean value (defaulting to `TRUE`), specifying whether or not to show a menu in the frame
+ where the component is plugged.
+
+
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** is used to control the browser from outside.
+
+
+ You may use the
+ com::sun::star::frame::XDispatchProvider::queryDispatch()
+ method
+ to query for objects which implement the
+ com::sun::star::frame::XDispatch
+ interface,
+ and which allow you to be notified on status changes and to dispatch special requests.
+
+
+ The recognized URLs are:
+
+ - .uno:Copy
+
+ implements the usual Copy command. Enabled if the grid view has the focus and text in any cell
+ is selected.
+
+ - .uno:Cut
+
+ implements the usual Cut command. Enabled if the grid view has the focus and text in any cell
+ is selected.
+
+ - .uno:Paste
+
+ implements the usual Paste command. Enabled if the grid view has the focus and a cell which
+ allows text input is being edited.
+
+ - .uno:EditDoc
+
+ allows switching the edit mode of the grid view. Enabled if editing the data is allowed in general.
+
+ - .uno:Undo
+
+ revokes any changes done in the current row.
+
+ - .uno:Save
+ saves the changes done in the current row.
+
+
+
+ */
+ interface com::sun::star::frame::XDispatchProvider;
+
+ /** allows to intercept user-triggered context menus in the data source browser
+
+ Context menu interception is currently supported only for the browser control where the registered
+ data sources and all their tables and queries are displayed in a tree view.
+
+ The selection supplied by com::sun::star::ui::ContextMenuExecuteEvent::Selection,
+ in the event structure passed to the context menu interceptors, actually is a value from the
+ com::sun::star::sdb::application::NamedDatabaseObject group.
+
+ @since OOo 3.0
+ */
+ [optional] interface ::com::sun::star::ui::XContextMenuInterception;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseAccess.idl b/offapi/com/sun/star/sdb/DatabaseAccess.idl
new file mode 100644
index 000000000..22ab69c96
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccess.idl
@@ -0,0 +1,106 @@
+/* -*- 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_sdb_DatabaseAccess_idl__
+#define __com_sun_star_sdb_DatabaseAccess_idl__
+
+#include
+
+#include
+
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XDatabaseAccess;
+ published interface XCompletedConnection;
+
+
+/** specifies a component, which controls DatabaseAccessConnections and acts like a
+ shared DataSource.
+
+ @deprecated
+ */
+published service DatabaseAccess
+{
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** controls the establishing of the connections.
+ */
+ interface XDatabaseAccess;
+
+ /** establishing a connection with user interaction, the implementation
+ is optional.
+ */
+ [optional] interface XCompletedConnection;
+
+ /** is the URL of the bean.
+ */
+ [readonly, property] string URL;
+
+ /** is the title of the bean.
+ */
+ [property] string Title;
+
+ /** indicates a database url of the form
+ jdbc:subprotocol:subname
or
+ sdbc:subprotocol:subname
+ */
+ [property] string ConnectURL;
+
+ /** is a list of arbitrary string tag/value pairs as
+ connection arguments; normally at least a "user" and
+ "password" property should be included.
+ */
+ [property] sequence ConnectInfo;
+
+ /** determines whether modifications on the data access bean are allowed
+ or not.
+ */
+ [readonly, property] boolean IsReadOnly;
+
+ /** provides an object for formatting numbers.
+ */
+ [property] com::sun::star::util::XNumberFormatsSupplier
+ NumberFormatsSupplier;
+
+ /** indicates that a password is always necessary.
+ */
+ [optional, property] boolean IsPasswordRequired;
+
+ /** defines a list of tables, on which the bean should have it's focus.
+ If empty, all tables are rejected.
+ */
+ [optional, property] sequence TableFilter;
+
+ /** defines a list of table types, on which the bean should have it's focus.
+ If empty, all tables types are rejected.
+ */
+ [optional, property] sequence TableTypeFilter;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessConnection.idl b/offapi/com/sun/star/sdb/DatabaseAccessConnection.idl
new file mode 100644
index 000000000..a5af742fa
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessConnection.idl
@@ -0,0 +1,85 @@
+/* -*- 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_sdb_DatabaseAccessConnection_idl__
+#define __com_sun_star_sdb_DatabaseAccessConnection_idl__
+
+#include
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+ published interface XQueriesSupplier;
+ published interface XFormDocumentsSupplier;
+ published interface XReportDocumentsSupplier;
+ published interface XSQLQueryComposerFactory;
+
+
+/** specifies a component, which supplies and stores additional information related
+ to a certain database connection, such as, DatabaseQueries, FormDocuments, and ReportDocuments.
+ Objects for data definition are supplied as well, for instance, Tables, Views, etc.
+
+
+ Implements the service com::sun::star::sdbc::Connection.
+ It is possible to open more than one connection at the same time, but the method
+ com::sun::star::sdb::DatabaseAccessConnection::dispose()
+ will close only one of these connections. You have to close all connections in order
+ to close the connection to the database.
+
+
+ @deprecated
+*/
+published service DatabaseAccessConnection
+{
+ /** supporting of the base connection service.
+ Note:
+ Don't use the "dispose" method of the XComponent interface, as the DataAccess
+ uses a more sophisticated interface for closing a connection.
+ @see XDatabaseAccess
+
+ */
+ service com::sun::star::sdbc::Connection;
+
+ /** access to the DatabaseDefinition beans of the connection.
+ */
+ service com::sun::star::sdbcx::DatabaseDefinition;
+
+ /** access to the owning data access bean.
+ */
+ interface com::sun::star::container::XChild;
+
+ /** returns a tool for composing queries.
+ */
+ interface XSQLQueryComposerFactory;
+
+ /** provides access to the queries.
+ */
+ interface XQueriesSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessContext.idl b/offapi/com/sun/star/sdb/DatabaseAccessContext.idl
new file mode 100644
index 000000000..af68e71ea
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessContext.idl
@@ -0,0 +1,77 @@
+/* -*- 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_sdb_DatabaseAccessContext_idl__
+#define __com_sun_star_sdb_DatabaseAccessContext_idl__
+
+#include
+
+#include
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+/** is the context for data access beans. It allows to register aliases for database
+ access beans. It is possible to have different aliases for different locales.
+
+
+
+ A DatabaseContext stores an alias for the URL of a database access component
+ for a given locale. It is also allowed to work with a default locale. This is useful
+ in connection with Enumeration or NameAccess to the context. In common use, the
+ default language is set during the initialization of the component.
+
+
+ The service also provides a default handling for locales, where an alias isn't
+ set. The first time an alias is registered for a programmatic name, the alias
+ becomes the default for all other known locales.
+
+
@see com::sun::star::util::XLocalizedAliases
+
+ @deprecated
+ */
+published service DatabaseAccessContext
+{
+ /** Enumeration on all registered data sources for a default locale.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** NameAccess on all registered data sources for a default locale.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** Interface for registering aliases for data sources.
+ */
+ interface com::sun::star::util::XLocalizedAliases;
+
+ /** Interface for setting and retrieving the default language.
+ */
+ interface com::sun::star::lang::XLocalizable;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl b/offapi/com/sun/star/sdb/DatabaseAccessDataSource.idl
new file mode 100644
index 000000000..fec0bdc84
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseAccessDataSource.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_sdb_DatabaseAccessDataSource_idl__
+#define __com_sun_star_sdb_DatabaseAccessDataSource_idl__
+
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+ published interface XCompletedConnection;
+
+/** is a factory to create data access beans. Data access beans are shared among
+ components, so if an already existing bean is requested, the existing one is returned.
+
+ @deprecated
+ */
+published service DatabaseAccessDataSource
+{
+ interface com::sun::star::beans::XPropertySet;
+ interface com::sun::star::sdbc::XDataSource;
+
+ /** is optional for implementation.
+ */
+ [optional] interface XCompletedConnection;
+
+ /** locates the database access bean.
+ */
+ [property] string URL;
+
+ /** determines the password handling.
+ */
+ [optional, property] com::sun::star::ucb::RememberAuthentication PasswordMode;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseContext.idl b/offapi/com/sun/star/sdb/DatabaseContext.idl
new file mode 100644
index 000000000..fee353634
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseContext.idl
@@ -0,0 +1,43 @@
+/* -*- 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_sdb_DatabaseContext_idl__
+#define __com_sun_star_sdb_DatabaseContext_idl__
+
+#include
+
+module com { module sun { module star { module sdb {
+
+/** is the context for accessing datasource.
+
+
+ A datasource contains information how to create a connection to a database, such as,
+ which database driver should be used, for which user should a connection be established, etc.
+
+ The context stores datasources under a given name.
+
+
+ @see com::sun::star::sdb::DataSource
+ */
+published service DatabaseContext : XDatabaseContext;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseDocument.idl b/offapi/com/sun/star/sdb/DatabaseDocument.idl
new file mode 100644
index 000000000..9f094684a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseDocument.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_sdb_DatabaseDocument_idl__
+#define __com_sun_star_sdb_DatabaseDocument_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdbcx {
+ published interface XDataDescriptorFactory;
+ published interface XRename;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+/** specifies a link to a document associated with a database document
+ @since OOo 2.0
+ @deprecated
+ */
+published service DatabaseDocument
+{
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ // allows to create new DatabaseDocument objects
+ interface com::sun::star::sdbcx::XDataDescriptorFactory;
+
+ // allows to rename the object.
+ interface com::sun::star::sdbcx::XRename;
+
+ /** is the name of the document.
+ */
+ [readonly, property] string Name;
+
+
+ /** is the URL of the document.
+ */
+ [readonly, property] string URL;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseEnvironment.idl b/offapi/com/sun/star/sdb/DatabaseEnvironment.idl
new file mode 100644
index 000000000..3e1b48f33
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseEnvironment.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_sdb_DatabaseEnvironment_idl__
+#define __com_sun_star_sdb_DatabaseEnvironment_idl__
+
+#include
+
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XDatabaseEnvironment;
+
+
+/** @deprecated
+ is the top level service for accessing database components.
+
+
+
+ It enables the service user to establish connections to databases
+ or to use database access beans to gain access to database components.
+ This service takes control over all other database services.
+ */
+published service DatabaseEnvironment
+{
+ interface XDatabaseEnvironment;
+
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** provides an object for formatting numbers.
+ */
+ [readonly, property] com::sun::star::util::XNumberFormatsSupplier
+ NumberFormatsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl b/offapi/com/sun/star/sdb/DatabaseInteractionHandler.idl
new file mode 100644
index 000000000..79f617452
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseInteractionHandler.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_sdb_DatabaseInteractionHandler_idl__
+#define __com_sun_star_sdb_DatabaseInteractionHandler_idl__
+
+module com { module sun { module star { module task {
+ interface XInteractionHandler2;
+}; }; }; };
+
+module com { module sun { module star { module sdb {
+
+/** describes a service which is able to handle database-related interactions.
+
+ Usually, you will not instantiate this service directly. Instead, you'll instantiate a generic
+ com::sun::star::task::InteractionHandler service, and pass it your request. Based on
+ configuration data, this implementation will decide where to forward the request to.
+
+ By default, the DatabaseInteractionHandler
feels responsible (as per configuration) for the
+ following interaction types:
+
+ - database related errors
+ The general structure to transport such errors is the com::sun::star::sdbc::SQLException,
+ and if your interaction request supplies such a SQLException
(or an instance of any derived class),
+ the handler will display a generic error dialog, which is able to travel the object chain which may be contained
+ in the exception.
+
+ - parameter requests
+ If your interaction request supplies a com::sun::star::sdb::ParametersRequest,
+ the handler will open a standard dialog asking the user to fill in parameter values.
+
+ In the case you want to use this feature of the handler, you should supply a special continuation
+ (com::sun::star::sdb::XInteractionSupplyParameters) as well, so the
+ handler can return the entered information.
+
+
+
+*/
+service DatabaseInteractionHandler: com::sun::star::task::XInteractionHandler2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl b/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl
new file mode 100644
index 000000000..95e9f606e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.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_sdb_DatabaseRegistrationEvent_idl__
+#define __com_sun_star_sdb_DatabaseRegistrationEvent_idl__
+
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/** describes a change in a database registration
+
+ @see XDatabaseRegistrations
+ @see XDatabaseRegistrationsListener
+
+ @since LibreOffice 3.3
+ */
+published struct DatabaseRegistrationEvent : ::com::sun::star::lang::EventObject
+{
+ /// is the name of the database registration affected by the event
+ string Name;
+ /// is the old location of the database which is affected by the event
+ string OldLocation;
+ /// is the new location of the database which is affected by the event
+ string NewLocation;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl b/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl
new file mode 100644
index 000000000..c4e105be6
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DatasourceAdministrationDialog.idl
@@ -0,0 +1,103 @@
+/* -*- 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_sdb_DatasourceAdministrationDialog_idl__
+#define __com_sun_star_sdb_DatasourceAdministrationDialog_idl__
+
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/** provides a user interface for administrating the system wide registered data sources.
+
+ Here, system wide registered means registered on the (one and only) instance
+ of the
+ com::sun::star::sdb::DatabaseContext
+ service.
+
+*/
+published service DatasourceAdministrationDialog
+{
+ /** the title of the (dialog) window
+ */
+ [property] string Title;
+
+ /** parent window to use for the administration dialog
+
+ This property can't be set while the dialog is being displayed.
+
+ */
+ [property] com::sun::star::awt::XWindow ParentWindow;
+
+ /** allows access to the properties of the object
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows starting execution of the administration dialog
+ */
+ interface com::sun::star::ui::dialogs::XExecutableDialog;
+
+ /** allows initializing the dialog
+
+ You do not need to call the initialize method directly, instead you may use the createInstanceWithArguments
+ method of your com::sun::star::lang::XMultiServiceFactory.
+
+
+
+ You specify a parameter by passing one (or more)
+ com::sun::star::beans::PropertyValue
+ object(s) to the initialize method, where the Name field contains a string describing which aspect
+ you want to affect, and the Value field containing a value.
+
+ Imagine the initialization values as if you use setPropertyValue of the
+ com::sun::star::beans::XPropertySet
+ interface ...
+
+ allowed parameters are
+
+ - Title
+ String describing the initial title of the dialog.
+ If not specified, a default title is used.
+
+ - ParentWindow
+ com::sun::star::awt::XWindow
+ describing the parent window to use for the dialog.
+
+ - InitialSelection
+ String or XDataSource describing which data source should be selected initially.
+ This String name must be known to the
+ com::sun::star::sdb::DatabaseContext.
+
+
+
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DefinitionContainer.idl b/offapi/com/sun/star/sdb/DefinitionContainer.idl
new file mode 100644
index 000000000..7ae204bf2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DefinitionContainer.idl
@@ -0,0 +1,90 @@
+/* -*- 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_sdb_DefinitionContainer_idl__
+#define __com_sun_star_sdb_DefinitionContainer_idl__
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+ published interface XNameContainer;
+ published interface XIndexAccess;
+ published interface XEnumerationAccess;
+};};};};
+
+ module com { module sun { module star { module util {
+ published interface XRefreshable;
+};};};};
+ module com { module sun { module star { module lang {
+ published interface XSingleServiceFactory;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a container which provides access to database related definitions like
+ commands, forms, and reports.
+
+
+ The container supports access to its elements by the elements name or
+ by the elements position.
+
+
+ Simple enumeration must be supported as well.
+
+
+ To reflect the changes with the underlying database, a refresh mechanism
+ needs to be supported.
+
+ */
+published service DefinitionContainer
+{
+ // gives access to the elements by name.
+ interface com::sun::star::container::XNameAccess;
+
+ // allows to insert and remove by name.
+ interface com::sun::star::container::XNameContainer;
+
+ // gives access to the elements by index.
+ interface com::sun::star::container::XIndexAccess;
+
+ // allows to create an enumeration of the elements.
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** is used to refresh the container, to reflect changes in the underlying database.
+ */
+ [optional] interface com::sun::star::util::XRefreshable;
+
+ /** can be used to create container elements.
+
+ If this interface is supported, the object created using it (e.g., the object returned by
+ com.sun.star.lang::XSingleServiceFactory::createInstance()
+ ) can be used as container elements.
+
+ */
+ [optional] interface com::sun::star::lang::XSingleServiceFactory;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DefinitionContent.idl b/offapi/com/sun/star/sdb/DefinitionContent.idl
new file mode 100644
index 000000000..1cc7dfa32
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DefinitionContent.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_sdb_DefinitionContent_idl__
+#define __com_sun_star_sdb_DefinitionContent_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/** defines the basic functionality for an object in the hierarchy of sub documents
+ of an OfficeDatabaseDocument.
+
+ @see DocumentDefinition
+ @see DocumentContainer
+ */
+service DefinitionContent
+{
+ /** provides the functionality for treating the object as part of a hierarchy
+ of objects.
+
+ The following commands are commonly supported by the com::sun::star::ucb::XCommandProcessor
+ implementation of a DefinitionContent
:
+
+ - getPropertyValues
+ - setPropertyValues
+ - getPropertySetInfo
+
+
+
+ Additional commands might be supported by derived services.
+ */
+ service ::com::sun::star::ucb::Content;
+
+ /** provides access to the complete name of the content within its hierarchy
+ @since OOo 3.3
+ */
+ interface ::com::sun::star::container::XHierarchicalName;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Document.idl b/offapi/com/sun/star/sdb/Document.idl
new file mode 100644
index 000000000..6e5720860
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Document.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_sdb_Document_idl__
+#define __com_sun_star_sdb_Document_idl__
+
+#include
+
+module com { module sun { module star { module sdb {
+
+/** specifies documents which belong to a database source.
+
+
+ These documents typically process information from a connected
+ data source. A Document could be a form or a report.
+
+@deprecated
+*/
+published service Document
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** is the name of the document. If the document is part of the container,
+ it is not possible to alter the name.*/
+ [readonly, property] string Name;
+
+ /** is the URL of the document. */
+ [property] string DocumentLocation;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DocumentContainer.idl b/offapi/com/sun/star/sdb/DocumentContainer.idl
new file mode 100644
index 000000000..911cb0b3c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentContainer.idl
@@ -0,0 +1,118 @@
+/* -*- 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_sdb_DocumentContainer_idl__
+#define __com_sun_star_sdb_DocumentContainer_idl__
+
+#include
+#include
+
+
+ module com { module sun { module star { module lang {
+ published interface XMultiServiceFactory;
+};};};};
+
+ module com { module sun { module star { module frame {
+ published interface XComponentLoader;
+};};};};
+
+ module com { module sun { module star { module container {
+ published interface XHierarchicalNameContainer;
+};};};};
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a container which provides access to documents embedded into a database document,
+ usually forms and reports.
+
+ The com::sun::star::lang::XMultiServiceFactory::createInstanceWithArguments()
+ should be used to create sub document container or form, or report objects.
+
+ The embedded documents do not support any particular database related service, instead, they're
+ usual com::sun::star::document::OfficeDocuments.
+ The only thing worth mentioning here is that they support the
+ com::sun::star::container::XChild interface, whose
+ com::sun::star::container::XChild::getParent() method can be used to
+ obtain the database document which the embedded document belongs to.
+
+
+ @see DocumentDefinition
+ @see OfficeDatabaseDocument
+ */
+service DocumentContainer
+{
+ service DefinitionContainer;
+
+ /** provides functionality for treating the container as part of a hierarchy
+ of a database document's sub documents.
+
+ The com::sun::star::ucb::XCommandProcessor::execute() method
+ of a DocumentDefinition
supports at least the following commands, additionally to
+ the ones already supported by the DefinitionContent:
+
+ - open: provides a com::sun::star::ucb::XDynamicResultSet
+ to enumerate the content of the document container.
+ - delete: deletes the document container, including all contained documents.
+
+ */
+ service DefinitionContent;
+
+ /** can be used to load the document inside.
+
+ URL: describes the name of the document definition to load,
+ TargetFrameName: isn't used.
+ SearchFlags: isn't used.
+ Arguments:
+
+ - PropertyValue
+ Name = ActiveConnection
+ Value = The connection which should be used when opening the text document.
+ - PropertyValue
+ Name = OpenMode
+ Value = string, "open" if the document should be opened in live mode (editing is not possible),
+ "openDesign" if the document should be open in design mode (editing is possible)
+
+ @see com::sun::star::sdbc::XConnection
+
+ */
+ interface com::sun::star::frame::XComponentLoader;
+
+ /** can be used to create container elements.
+
+ If this interface is supported, the object created using it (e.g., the object returned by
+ com.sun.star.lang::XMultiServiceFactory::createInstanceWithArguments()
+ ) can be used as container elements.
+
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ /** can be used to create folder hierarchies and to organize forms or reports in different sub folders.
+ */
+ interface com::sun::star::container::XHierarchicalNameContainer;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DocumentDataSource.idl b/offapi/com/sun/star/sdb/DocumentDataSource.idl
new file mode 100644
index 000000000..c8de0f0f4
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentDataSource.idl
@@ -0,0 +1,46 @@
+/* -*- 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_sdb_DocumentDataSource_idl__
+#define __com_sun_star_sdb_DocumentDataSource_idl__
+
+#include
+#include
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** simplifies the accessing of data sources and it's corresponding database document.
+
+ @see DataSource
+ @see XDocumentDataSource
+ */
+
+service DocumentDataSource
+{
+ service DataSource;
+ interface XDocumentDataSource;
+};
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DocumentDefinition.idl b/offapi/com/sun/star/sdb/DocumentDefinition.idl
new file mode 100644
index 000000000..e2b266e89
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentDefinition.idl
@@ -0,0 +1,90 @@
+/* -*- 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_sdb_DocumentDefinition_idl__
+#define __com_sun_star_sdb_DocumentDefinition_idl__
+
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+ interface XSubDocument;
+
+/** specifies a sub document of an OfficeDatabaseDocument.
+
+ Usual instances of a DocumentDefinition
are forms and reports.
+
+ Note that the DocumentDefinition
does not denote the actual document
+ (i.e. an object supporting the com::sun::star::frame::XModel interface),
+ but only a shortcut to access and load those actual documents.
+*/
+service DocumentDefinition
+{
+ /** provides functionality for treating the object as part of a hierarchy
+ of a database document's sub documents.
+
+ The com::sun::star::ucb::XCommandProcessor::execute() method
+ of a DocumentDefinition
supports at least the following commands, additionally to
+ the ones already supported by the DefinitionContent:
+
+ - open: loads the sub document in an own frame. The return value of
+ the
execute
method is the model of the loaded document.
+ - store: stores the document.
+ - openDesign: opens the sub document in an own frame, in design mode.
+ The user can make changes to the document, and save those changes. The return value of
+ the
execute
method is the model of the loaded document.
+ - preview: retrieves an image showing a preview of the sub document.
+ - getDocumentInfo: retrieves the document information, as
+ com::sun::star::document::XDocumentProperties
+ instance, of the sub document.
+ - delete: deletes the sub document from the database document.
+ - close: closes the sub document, if it had previously been opened
+ using either the
open
or openDesign
command. The return value
+ of the execute
command is a boolean
value indicating whether
+ the sub document could be closed. Reasons for not closing the document include vetoes by
+ third parties, for instance, because the user opened a dialog modal to the sub document,
+ or a long-running task such as printing is currently running.
+ - show: shows the sub document. This is useful if you previously opened the
+ document hidden, or if you previously hide it using the hide command.
+ The open command is not available if the sub document has not been loaded, yet.
+ - hide: hides the sub document. In opposite to the close command,
+ only the document window is hidden, but the document is kept loaded. A subsequent execution
+ of the show command will show the window, again.
+
+ */
+ service DefinitionContent;
+
+ interface ::com::sun::star::beans::XPropertySet;
+
+ interface ::com::sun::star::sdb::XSubDocument;
+
+ /** is the name of the document. If the document is part of the container,
+ it is not possible to alter the name.*/
+ [readonly, property] string Name;
+
+ /** Indicates if the document is to be used as template, for example, if a report is to be filled with data. */
+ [readonly, property] boolean AsTemplate;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/DocumentSaveRequest.idl b/offapi/com/sun/star/sdb/DocumentSaveRequest.idl
new file mode 100644
index 000000000..1fef69912
--- /dev/null
+++ b/offapi/com/sun/star/sdb/DocumentSaveRequest.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_sdb_DocumentSaveRequest_idl__
+#define __com_sun_star_sdb_DocumentSaveRequest_idl__
+
+#include
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** an error specifying the lack of a document name
+
+ Usually thrown if someone tries to save a document which hasn't a name yet.
+
+ @since OOo 2.0
+*/
+exception DocumentSaveRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** specifies the content where the document should save inside.
+ Somebody handling the request could, e.g., use the content as root content
+ to display the hierarchy of the sub contents.
+ */
+ com::sun::star::ucb::XContent Content;
+
+ /** The default name of the document, may be empty.
+ */
+ string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ErrorCondition.idl b/offapi/com/sun/star/sdb/ErrorCondition.idl
new file mode 100644
index 000000000..d70aed387
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ErrorCondition.idl
@@ -0,0 +1,161 @@
+/* -*- 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_sdb_ErrorCondition_idl__
+#define __com_sun_star_sdb_ErrorCondition_idl__
+
+
+module com { module sun { module star { module sdb {
+
+
+/** defines error conditions for OpenOffice.org Base core components
+
+ Core components of OpenOffice.org will use those error conditions
+ as error codes (com::sun::star::sdbc::SQLException::ErrorCode)
+ wherever possible.
+ That is, if an SQLException
is raised by
+ such a component, caused by an error condition which is included in the
+ ErrorCondition group, then the respective negative value
+ will be used as ErrorCode
.
+
+ This allows to determine specific error conditions in your client code, and
+ to handle it appropriately.
+
+ Note that before you examine the ErrorCode
member of a caught
+ SQLException
, you need to make sure that the exception
+ is really thrown by an OpenOffice.org Base core component. To do so, check
+ whether the error message (Exception::Message
) starts with the
+ vendor string [OOoBase]
.
+
+ The list of defined error conditions, by nature, is expected to permanently grow,
+ so never assume it being finalized.
+
+ @code{.java}
+ catch ( SQLException e )
+ {
+ if (e.Message.startsWith( "[OOoBase]" ))
+ if (e.ErrorCode + ErrorCondition.SOME_ERROR_CONDITION == 0)
+ handleSomeErrorCondition();
+ }
+ @endcode
+ */
+constants ErrorCondition
+{
+ // = section ROW_SET - css.sdb.RowSet related error conditions
+
+ /** is used by and RowSet to indicate that an operation has been vetoed
+ by one of its approval listeners
+
+ This error condition results in raising a RowSetVetoException.
+ @see RowSet
+ @see XRowSetApproveBroadcaster
+ @see XRowSetApproveListener
+ */
+ const long ROW_SET_OPERATION_VETOED = 100;
+
+ // = section PARSER - parsing related error conditions
+
+ /** indicates that while parsing an SQL statement, cyclic sub queries have been detected.
+
+ Imagine you have a client-side query SELECT * FROM table
, which is
+ saved as "query1". Additionally, there is a query "query2" defined
+ as SELECT * FROM query1
. Now if you try to change the statement of
+ query1 to SELECT * FROM query2
, this is prohibited, because
+ it would lead to a cyclic sub query.
+ */
+ const long PARSER_CYCLIC_SUB_QUERIES = 200;
+
+ // = section DB - application-level error conditions
+ // = next section should start with 500
+
+ /** indicates that the name of a client side database object - a query, a form,
+ or a report - contains one or more slashes, which is forbidden.
+ */
+ const long DB_OBJECT_NAME_WITH_SLASHES = 300;
+
+ /** indicates that an identifier is not SQL conform.
+ */
+ const long DB_INVALID_SQL_NAME = 301;
+
+ /** indicates that the name of a query contains quote characters.
+
+
This error condition is met when the user attempts to save a query
+ with a name which contains one of the possible database quote characters.
+ This is an error since query names can potentially be used in
+ SELECT
statements, where quote identifiers would render the statement invalid.
+
+ @see com::sun::star::sdb::tools::XDataSourceMetaData::supportsQueriesInFrom
+ */
+ const long DB_QUERY_NAME_WITH_QUOTES = 302;
+
+ /** indicates that an attempt was made to save a database object under a name
+ which is already used in the database.
+
+ In databases which support query names to appear in SELECT
+ statements, this could mean that a table was attempted to be saved with the
+ name of an existing query, or vice versa.
+
+ Otherwise, it means an object was attempted to be saved with the
+ name of an already existing object of the same type.
+
+ @see com::sun::star::sdb::application::DatabaseObject
+ @see com::sun::star::sdb::tools::XDataSourceMetaData::supportsQueriesInFrom
+ */
+ const long DB_OBJECT_NAME_IS_USED = 303;
+
+ /** indicates an operation was attempted which needs a connection to the
+ database, which did not exist at that time.
+ */
+ const long DB_NOT_CONNECTED = 304;
+
+ // = section AB - address book access related error conditions
+ // = next section should start with 550
+
+ /** used by the component implementing address book access to indicate that a requested address book could
+ not be accessed.
+
+ For instance, this error code is used when you try to access the address book
+ in a Thunderbird profile named MyProfile, but there does not exist a profile
+ with this name.
+ */
+ const long AB_ADDRESSBOOK_NOT_FOUND = 500;
+
+ // = section DATA - data retrieval related error conditions
+ // = next section should start with 600
+
+ /** used to indicate that a SELECT
operation on a table needs a filter.
+
+ Some database drivers are not able to SELECT
from a table if the
+ statement does not contain a WHERE
clause. In this case, a statement
+ like SELECT * FROM "table"
will fail with the error code
+ DATA_CANNOT_SELECT_UNFILTERED
.
+
+ It is also legitimate for the driver to report this error condition as warning, and provide
+ an empty result set, instead of ungraceful failing.
+ */
+ const long DATA_CANNOT_SELECT_UNFILTERED = 550;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ErrorMessageDialog.idl b/offapi/com/sun/star/sdb/ErrorMessageDialog.idl
new file mode 100644
index 000000000..158017b87
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ErrorMessageDialog.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_sdb_ErrorMessageDialog_idl__
+#define __com_sun_star_sdb_ErrorMessageDialog_idl__
+
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/** provides a dialog for displaying database related exceptions.
+
+ If applications use any of the functionality provided in the modules
+ com.sun.star::sdbc, com.sun.star::sdbcx and com.sun.star::sdb,
+ they will - sooner or later - encounter
+ com::sun::star::sdbc::SQLException
+ 's.
+
+ These exceptions can be chained, so the information wrapped in one single
+ com::sun::star::sdbc::SQLException
+ can be rather complex (e.g., every instance where such an exception is passing before it is finally caught, could
+ append a
+ com::sun::star::sdb::SQLContext
+ to explain what it was doing), and they should be
+ presented to the user in a consistent way.
+
+ This can be reached by using this service.
+ @see com::sun::star::sdb::InteractionHandler
+
+*/
+published service ErrorMessageDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ /** allows initializing the dialog
+
+ You do not need to call the initialize method directly, instead you may use the createInstanceWithArguments
+ method of your com::sun::star::lang::XMultiServiceFactory.
+
+
+ You specify a parameter by passing one (or more)
+ com::sun::star::beans::PropertyValue
+ object(s) to the initialize method, where the Name field contains a string describing which aspect
+ you want to affect, and the Value field containing a value.
+
+ Imagine the initialization values, as if you use
+ com::sun::star::beans">XPropertySet::setPropertyValue()
+ of the
+ com::sun::star::beans::XPropertySet
+ interface ...
+
+ allowed parameters are
+
+ - title
+ String describing the initial title of the dialog. If not specified, a default title is used.
+
+ - parentWindow
+ com::sun::star::awt::XWindow
+ describing the parent window to use for the dialog.
+
+ - sqlException
+ com::sun::star::sdbc::SQLException
+ describing the error which is being displayed.
+ When initializing this value, you may use any derivative of
+ com::sun::star::sdbc::SQLException.
+
+
+
+ */
+ create([in] string initialTitle, [in] com::sun::star::awt::XWindow parentWindow, [in] any sqlException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/FilterDialog.idl b/offapi/com/sun/star/sdb/FilterDialog.idl
new file mode 100644
index 000000000..a9c031ad6
--- /dev/null
+++ b/offapi/com/sun/star/sdb/FilterDialog.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_sdb_FilterDialog_idl__
+#define __com_sun_star_sdb_FilterDialog_idl__
+
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb {
+
+/**
+ This interface could be incomplete since I derived it from its places of use.
+
+ @since LibreOffice 4.1
+*/
+service FilterDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ createDefault();
+
+ createWithQuery([in] com::sun::star::sdb::XSingleSelectQueryComposer QueryComposer,
+ [in] com::sun::star::sdbc::XRowSet RowSet,
+ [in] com::sun::star::awt::XWindow ParentWindow);
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Forms.idl b/offapi/com/sun/star/sdb/Forms.idl
new file mode 100644
index 000000000..bd1f98da7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Forms.idl
@@ -0,0 +1,46 @@
+/* -*- 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_sdb_Forms_idl__
+#define __com_sun_star_sdb_Forms_idl__
+
+#include
+
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a container which provides access to database forms.
+
+
+ @see com::sun::star::sdb::DocumentDefinition
+ */
+service Forms
+{
+ service DocumentContainer;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/InteractionHandler.idl b/offapi/com/sun/star/sdb/InteractionHandler.idl
new file mode 100644
index 000000000..4b93b778a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/InteractionHandler.idl
@@ -0,0 +1,42 @@
+/* -*- 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_sdb_InteractionHandler_idl__
+#define __com_sun_star_sdb_InteractionHandler_idl__
+
+module com { module sun { module star { module task {
+ published interface XInteractionHandler;
+}; }; }; };
+
+module com { module sun { module star { module sdb {
+
+/** is a service for user interaction for databases.
+ @deprecated
+ Do not use this service anymore. Instead, create a generic com::sun::star::task::InteractionHandler
+ instance, and pass it your request. It will determine, based on configuration data, which concrete interaction
+ handler implementation to use for a specific request. In particular, requests formerly server by this service here
+ are by default passed to a DatabaseInteractionHandler.
+*/
+published service InteractionHandler: com::sun::star::task::XInteractionHandler;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
new file mode 100644
index 000000000..90f1edc0f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/OfficeDatabaseDocument.idl
@@ -0,0 +1,226 @@
+/* -*- 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_sdb_OfficeDatabaseDocument_idl__
+#define __com_sun_star_sdb_OfficeDatabaseDocument_idl__
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/** specifies an office database document which is a storable document.
+
+ These documents contain information about forms, and reports, and the properties of a data source.
+
+ The database document contains no data per default. The following is stored inside the document:
+
+ - forms
+ - reports
+ - The table settings defined in DataSettings
+ - The query settings defined in DataSettings
+ - All properties of the service DataSource
+
+
+ @see com::sun::star::sdb::XOfficeDatabaseDocument
+ @see com::sun::star::document::OfficeDocument
+ @since OOo 2.0
+ */
+service OfficeDatabaseDocument
+{
+ /** specifies basic functionality of a document in OpenOffice.org
+
+ Note that a database document actually does not support the com::sun::star::view::XPrintable interface.
+ The non-optional requirement of this interface in the com::sun::star::document::OfficeDocument
+ service is considered a documentation error.
+ */
+ service com::sun::star::document::OfficeDocument;
+
+ interface XOfficeDatabaseDocument;
+
+ /** allows access to the Basic macros and dialogs possibly embedded in the document
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::document::XEmbeddedScripts;
+
+ /** supplies a script provider which can be used to execute macros and scripts
+ embedded in the document
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::script::provider::XScriptProviderSupplier;
+
+ /** allows to initialize the document, either from scratch, or from a stored
+ database document.
+
+ A newly instantiated database document cannot be operated until it is fully
+ initialized. There are three possible means to do this initialization:
+
- calling
XLoadable::initNew
+ - calling
XLoadable::load
+ - calling
XStorable::storeAsURL
+
+ The third option was added for compatibility reasons, since a DatabaseDocument
+ in earlier versions of OpenOffice.org did not support the XLoadable
interface,
+ so the usual way of creating a document from scratch was to create it, set properties as
+ needed, and store it.
+
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::frame::XLoadable;
+
+ /** allows to register for notifications happening in the document
+
+ The following events are broadcasted by a database document
+
+ Event Name |
+ broadcasted when |
+ broadcasted synchronously |
+
+ OnCreate |
+ the document has been newly created. This does not imply that the document has
+ been loaded into a frame, it just means the initialization has been finished. |
+ yes |
+
+ OnLoadFinished |
+ the document has been completely loaded. This does not imply that the document
+ has been loaded into a frame, it just means the load process has been finished. |
+ yes |
+
+ OnNew |
+ the document has been initialized from scratch, including plugging it into a frame. |
+ no |
+
+ OnLoad |
+ the document has been completely loaded, including plugging it into a frame. |
+ no |
+
+ OnSave |
+ the document is about to be saved. |
+ yes |
+
+ OnSaveDone |
+ saving the document succeeded. |
+ no |
+
+ OnSaveFailed |
+ saving the document failed. |
+ no |
+
+ OnSaveAs |
+ the document is about to be saved under a new name. |
+ yes |
+
+ OnSaveAsDone |
+ saving the document under a new name succeeded. |
+ no |
+
+ OnSaveAsFailed |
+ saving the document under a new name failed. |
+ no |
+
+ OnSaveTo |
+ the document is about to be saved to a location different from its
+ current location, but without adjusting the current location. |
+ yes |
+
+ OnSaveToDone |
+ saving the document to a different location succeeded. |
+ no |
+
+ OnSaveToFailed |
+ saving the document to a different location failed. |
+ no |
+
+ OnPrepareUnload |
+ the document is about to be closed. |
+ yes |
+
+ OnUnload |
+ the document is being closed. |
+ yes |
+
+ OnFocus |
+ a view to the document obtained the focus. |
+ no |
+
+ OnUnfocus |
+ a view to the document lost the focus. |
+ no |
+
+ OnModifyChanged |
+ the modified state of the document changed. |
+ no |
+
+ OnViewCreated |
+ a view to the document has been created, and attached to the document. |
+ no |
+
+ OnPrepareViewClosing |
+ a view to the document is about to be closed. |
+ yes |
+
+ OnViewClosed |
+ a view to the document has been closed. |
+ no |
+
+ OnTitleChanged |
+ the title of the document changed. |
+ no |
+
+ OnSubComponentOpened |
+ From with a view to the document, a view to a sub component (e.g. a table or a report) has been opened. |
+ no |
+
+ OnSubComponentClosed |
+ From with a view to the document, a view to a sub component (e.g. a table or a report) has been closed. |
+ no |
+
+
+
+
+ @since OOo 3.1
+ */
+ interface ::com::sun::star::document::XDocumentEventBroadcaster;
+
+ /** implements life time control
+
+ Whoever retrieves an OfficeDatabaseDocument should be aware of
+ life time issues, since a document needs to be closed when nobody needs it anymore.
+
+ This implies that clients of a document need to ensure that as soon as they don't
+ need, they invoke com::sun::star::util::XCloseable::close().
+
+ Since this can be done by multiple clients, every client is additionally required
+ to register itself as com::sun::star::util::XCloseListener at
+ the document, to prevent some other client closing the model while it's still needed
+ by the first client.
+ */
+ interface com::sun::star::util::XCloseable;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/OrderColumn.idl b/offapi/com/sun/star/sdb/OrderColumn.idl
new file mode 100644
index 000000000..6d264c031
--- /dev/null
+++ b/offapi/com/sun/star/sdb/OrderColumn.idl
@@ -0,0 +1,46 @@
+/* -*- 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_sdb_OrderColumn_idl__
+#define __com_sun_star_sdb_OrderColumn_idl__
+
+#include
+
+module com { module sun { module star { module sdb {
+
+/** describes a column which is part of the ORDER clause.
+
+ @see com::sun::star::sdb::XSingleSelectQueryComposer
+*/
+service OrderColumn
+{
+ service com::sun::star::sdbcx::Column;
+
+ /** describes which sort order this column has.
+ The default is `TRUE`.
+ */
+ [property] boolean IsAscending;
+};
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/OrderDialog.idl b/offapi/com/sun/star/sdb/OrderDialog.idl
new file mode 100644
index 000000000..456e70f69
--- /dev/null
+++ b/offapi/com/sun/star/sdb/OrderDialog.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_sdb_OrderDialog_idl__
+#define __com_sun_star_sdb_OrderDialog_idl__
+
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb {
+
+/**
+ This interface could be incomplete since I derived it from its places of use.
+
+ @since LibreOffice 4.1
+*/
+service OrderDialog : com::sun::star::ui::dialogs::XExecutableDialog
+{
+ createDefault();
+
+ createWithQuery([in] com::sun::star::sdb::XSingleSelectQueryComposer QueryComposer,
+ [in] com::sun::star::beans::XPropertySet RowSet,
+ [in] com::sun::star::awt::XWindow ParentWindow);
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ParametersRequest.idl b/offapi/com/sun/star/sdb/ParametersRequest.idl
new file mode 100644
index 000000000..9e44f9c50
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ParametersRequest.idl
@@ -0,0 +1,60 @@
+/* -*- 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_sdb_ParametersRequest_idl__
+#define __com_sun_star_sdb_ParametersRequest_idl__
+
+#include
+
+#include
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** an error specifying the lack of parameters values
+
+ Usually thrown if someone tries to execute an SQL statement containing
+ parameters which can't be filled by the executing instance.
+
+*/
+published exception ParametersRequest: com::sun::star::task::ClassifiedInteractionRequest
+{
+ /** is the list of parameters requested.
+ The objects returned by the
+ com::sun::star::container::XIndexAccess
+ have to
+ be property sets describing the respective parameter. For this, the objects have to support the
+ service com::sun::star::sdbcx::Column.
+ */
+ com::sun::star::container::XIndexAccess Parameters;
+
+ /** specifies the connection on which the statement is to be executed.
+ Somebody handling the request could, e.g., use the connection for determining
+ the identifier quote string, etc.
+ */
+ com::sun::star::sdbc::XConnection Connection;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/PreparedStatement.idl b/offapi/com/sun/star/sdb/PreparedStatement.idl
new file mode 100644
index 000000000..89c36d297
--- /dev/null
+++ b/offapi/com/sun/star/sdb/PreparedStatement.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_sdb_PreparedStatement_idl__
+#define __com_sun_star_sdb_PreparedStatement_idl__
+
+#include
+
+ module com { module sun { module star { module sdbcx {
+ published interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** represents a precompiled SQL statement. The service differs only in the access
+ of the columns and parameters to the service
+ com::sun::star::sdbc::PreparedStatement.
+ */
+published service PreparedStatement
+{
+ service com::sun::star::sdbc::PreparedStatement;
+
+
+ /** access to the resulting columns of the statement.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Query.idl b/offapi/com/sun/star/sdb/Query.idl
new file mode 100644
index 000000000..13cc93592
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Query.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_sdb_Query_idl__
+#define __com_sun_star_sdb_Query_idl__
+
+#include
+
+ module com { module sun { module star { module sdbcx {
+ published interface XDataDescriptorFactory;
+ published interface XColumnsSupplier;
+ published interface XRename;
+};};};};
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is a stored definition of a SQL query.
+
+
+ It can be used if there is a need to execute SQL statements more than once, or
+ if you want to format the query result fields differently from the
+ underlying table definitions.
+
+ */
+published service Query
+{
+
+ /** defines the command of the query.
+ */
+ interface com::sun::star::sdb::XQueryDefinition;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::DataSettings;
+
+
+ /** is provided for creation of a new query descriptor based on the current information.
+ */
+ interface com::sun::star::sdbcx::XDataDescriptorFactory;
+
+ // allows to rename the object.
+ interface com::sun::star::sdbcx::XRename;
+
+
+ /** access to the columns of the results sets query.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/QueryDefinition.idl b/offapi/com/sun/star/sdb/QueryDefinition.idl
new file mode 100644
index 000000000..2f0f7fe35
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDefinition.idl
@@ -0,0 +1,42 @@
+/* -*- 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_sdb_QueryDefinition_idl__
+#define __com_sun_star_sdb_QueryDefinition_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is a stored definition of a SQL "Select statement".
+
+
+ It can be used, if there is a need to execute SQL statement more than once.
+
+ */
+published service QueryDefinition : XQueryDefinition;
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/QueryDescriptor.idl b/offapi/com/sun/star/sdb/QueryDescriptor.idl
new file mode 100644
index 000000000..00ce6cd50
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDescriptor.idl
@@ -0,0 +1,95 @@
+/* -*- 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_sdb_QueryDescriptor_idl__
+#define __com_sun_star_sdb_QueryDescriptor_idl__
+
+#include
+
+ module com { module sun { module star { module sdbcx {
+ published interface XDataDescriptorFactory;
+ published interface XColumnsSupplier;
+};};};};
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is a stored definition of a SQL "Select statement".
+
+
+ It can be used, if there is a need to execute SQL statement more than once or
+ if you want to format the query result fields different from the
+ underlying table definitions.
+
+ */
+published service QueryDescriptor
+{
+ service com::sun::star::sdbcx::Descriptor;
+
+
+ /** is provided for creation of a new query descriptor based on the current information.
+ */
+ interface com::sun::star::sdbcx::XDataDescriptorFactory;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::DataSettings;
+
+
+ /** access to the columns of the results sets query.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+
+
+ /** is the command of the query, this is typically a select statement.
+ */
+ [property] string Command;
+
+
+ /** should we use escape processing for the query.
+ */
+ [property] boolean EscapeProcessing;
+
+
+ /** is the name of the table which should be updated. This is usually used
+ for queries which relate on more than one table.
+ */
+ [property] string UpdateTableName;
+
+
+ /** is the name of the update table catalog.
+ */
+ [property] string UpdateCatalogName;
+
+
+ /** is the name of the update table schema.
+ */
+ [property] string UpdateSchemaName;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/QueryDesign.idl b/offapi/com/sun/star/sdb/QueryDesign.idl
new file mode 100644
index 000000000..2dd2fd6eb
--- /dev/null
+++ b/offapi/com/sun/star/sdb/QueryDesign.idl
@@ -0,0 +1,185 @@
+/* -*- 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_sdb_QueryDesign_idl__
+#define __com_sun_star_sdb_QueryDesign_idl__
+
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/** implements a component which allows the creation of SQL statements.
+
+ This service implements a user interface for creating SQL statements either through a graphical design
+ interface or simply to enter the SQL statement directly.
+
+ The design view of the QueryDesign is divided into two parts. The first part contains the table windows
+ where columns can be selected for the SQL statement. The second part contains the columns which should appear
+ in the selection of the SQL statement or criteria which narrow the query.
+
+ Operation Modes
+
+ A QueryDesign
component has 3 operation modes, which control what kind of object is edited:
+
+
+ Initialization
+
+ Initialization is done using the com::sun::star::lang::XInitialization interface,
+ which expects a sequence of objects being either com::sun::star::beans::NamedValues or
+ com::sun::star::beans::PropertyValues. The following parameters are supported at
+ initialization time:
+
+ - Frame
+ has to be a com::sun::star::frame::XFrame interface specifying the frame to plug the
+ QueryDesign component into.
+ This parameter is mandatory.
+
+
+ - DataSourceName
+ specifies the name of the globally registered DataSource for which a query, view, or SQL
+ command is to be designed.
+ The DataSourceName may be omitted if and only if a valid ActiveConnection
+ parameter is present.
+ If both DataSourceName
and ActiveConnection
are present, the former
+ is ignored.
+
+
+ - ActiveConnection
+ specifies the connection to work with.
+ May be omitted if and only if a valid DataSourceName parameter is supplied.
+
+
+ - Command
+ specifies the name of the query or view to design, or, in case of the CommandType
+ being CommandType::COMMAND, the initial SQL command.
+ If this parameter is not present, a new query/view will be designed, respectively the initial
+ command will be empty.
+
+
+ - CommandType
+ specifies the type of object which should be designed. The following options are
+ supported:
+ - CommandType::QUERY specifies the designer should operate in
+ query mode, that is, an existing client-side query should be
+ designed, or a new query should be created, depending on the presence of the
+ Command parameter.
+ If the DataSourceName parameter is present, the query is
+ looked up in the specified data source. Otherwise, the designer tries to determine
+ the data source which the ActiveConnection belongs
+ to, and looks up the query there.
+
+ - CommandType::COMMAND specifies the designer should operate in
+ command mode, that is, a standalone SQL command
+ should be designed. When the user attempts to save the designed SQL statement,
+ the #ActiveCommand and #EscapeProcessing properties
+ of the designer are updated.
+
+ - CommandType::TABLE specifies the designer should operate in
+ view mode, that is, an existing or a new
+ server-side view should be designed, depending on the presence of the
+ Command parameter.
+ If the DataSourceName parameter is present, the view is
+ looked up in a newly created connection for the specified data source. Otherwise,
+ it is looked up in the connection given as ActiveConnection.
+
+ If not present, this parameter defaults to CommandType::QUERY.
+
+
+ - EscapeProcessing
+ Specifies whether or not escape processing should be initially enabled in the query designer. If set
+ to `FALSE`, then the designer can operate in text view only (as opposed to the graphical view). The
+ GraphicalDesign parameter will be ignored then, and assumed to be `FALSE`.
+ If not present, `TRUE` is assumed for this parameter.
+
+ - GraphicalDesign
+ This value indicates whether the designer should be opened in the graphical design view
+ (`TRUE`) or in the text view (`FALSE`).
+ If not present, `FALSE` is assumed for this parameter.
+
+
+
+
+ There's a number of legacy settings which are recognized for compatibility reasons, though
+ you're discouraged from using them:
+
+ - CurrentQuery
+ is the same as Command, and implies a CommandType of
+ CommandType::QUERY
+
+ - QueryDesignView
+ is the same as GraphicalDesign.
+
+ - IndependentSQLCommand
+ is the same as Command, and implies a CommandType of
+ CommandType::COMMAND
+
+ - CreateView
+ implies a CommandType of CommandType::TABLE
+
+
+ @see com::sun::star::sdb::ContentLoader
+*/
+
+published service QueryDesign
+{
+ /** allows the component to be plugged into frames.
+ */
+ interface com::sun::star::frame::XController;
+
+ /** is used to initialize the QueryDesign.
+
+ See chapter Initialization for details.
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** reflects the designed SQL command at the moment it was last saved by the user.
+ */
+ [readonly, property] string ActiveCommand;
+
+ /** specifies whether the user enabled escape processing for the statement being designed.
+
+ @see DataAccessDescriptor::EscapeProcessing
+ @since OOo 2.4
+ */
+ [readonly, property, optional] boolean EscapeProcessing;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RelationDesign.idl b/offapi/com/sun/star/sdb/RelationDesign.idl
new file mode 100644
index 000000000..e394917d4
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RelationDesign.idl
@@ -0,0 +1,77 @@
+/* -*- 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_sdb_RelationDesign_idl__
+#define __com_sun_star_sdb_RelationDesign_idl__
+
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/** implements a component which allows the creation of relation.
+
+ This service implements a user interface for relations through a graphical design interface.
+
+ The design view of the RelationDesign is identical to the first part of @see QueryDesign. It contains all tables
+ which are already connected through a relation.
+
+ @see com::sun::star::sdb::ContentLoader
+ @see com::sun::star::frame::XDispatch
+ @see com::sun::star::frame::XDispatchProviderInterceptor
+
+ @since OOo 1.1.2
+*/
+
+published service RelationDesign
+{
+ /** allows the component to be plugged into frames.
+ */
+ interface com::sun::star::frame::XController;
+
+ /** is used to initialize the RelationDesign.
+
+ Parameters (passed to the method
+ com::sun::star::lang::XInitialization::initialize())
+ have to be instances of com::sun::star::beans::PropertyValue, where the
+ com::sun::star::beans::PropertyValue::Name member specifies what the parameter controls,
+ with the com::sun::star::beans::PropertyValue::Value member containing the value
+ to be used.
+ Recognized parameters are:
+
+ - Frame
+ has to be a com::sun::star::frame::XFrame interface specifying the frame to plug the
+ RelationDesign component into.
+
+ - DataSourceName
+ The name of the globally registered DataSource to be used for initial display. It is only
+ meaningful together with the other parameters specifying the object to display.
+
+
+
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ReportDesign.idl b/offapi/com/sun/star/sdb/ReportDesign.idl
new file mode 100644
index 000000000..bf7426cf5
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ReportDesign.idl
@@ -0,0 +1,39 @@
+/* -*- 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_sdb_ReportDesign_idl__
+#define __com_sun_star_sdb_ReportDesign_idl__
+
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/**
+ This interface could be incomplete since I derived it from its sole place of use.
+
+ @since LibreOffice 4.1
+*/
+service ReportDesign : com::sun::star::frame::XController2;
+
+
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Reports.idl b/offapi/com/sun/star/sdb/Reports.idl
new file mode 100644
index 000000000..27dbbf093
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Reports.idl
@@ -0,0 +1,46 @@
+/* -*- 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_sdb_Reports_idl__
+#define __com_sun_star_sdb_Reports_idl__
+
+#include
+
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a container which provides access to database reports.
+
+
+ @see com::sun::star::sdb::DocumentDefinition
+ */
+service Reports
+{
+ service DocumentContainer;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ResultColumn.idl b/offapi/com/sun/star/sdb/ResultColumn.idl
new file mode 100644
index 000000000..f3a8c2c8e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ResultColumn.idl
@@ -0,0 +1,112 @@
+/* -*- 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_sdb_ResultColumn_idl__
+#define __com_sun_star_sdb_ResultColumn_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** describes a column of a result set.
+ */
+published service ResultColumn
+{
+ service com::sun::star::sdbcx::Column;
+
+
+ /** [optional], access to layout settings for a column.
+ */
+ service com::sun::star::sdb::ColumnSettings;
+
+
+ /** indicates whether the column can be used in a Where clause.
+ */
+ [readonly, property] boolean IsSearchable;
+
+
+ /** indicates whether values in the column are signed numbers.
+ */
+ [readonly, property] boolean IsSigned;
+
+
+ /** indicates that a column is case sensitive.
+ */
+ [readonly, property] boolean IsCaseSensitive;
+
+
+ /** indicates the column's normal max width in chars.
+ */
+ [readonly, property] long DisplaySize;
+
+
+ /** gets the suggested column title for use in printouts and
+ displays.
+ */
+ [readonly, property] string Label;
+
+
+ /** indicates whether a column is definitely, not writable.
+ */
+ [readonly, property] boolean IsReadOnly;
+
+
+ /** indicates whether it is possible for a write on the column to succeed.
+ */
+ [readonly, property] boolean IsWritable;
+
+
+ /** indicates whether a write on the column will definitely succeed.
+ */
+ [readonly, property] boolean IsDefinitelyWritable;
+
+
+ /** returns the fully-qualified name of the service whose instances
+ are manufactured if the method
+ com::sun::star::sdbc::XRow::getObject)=
+ is called to retrieve a value from the column.
+ */
+ [readonly, property] string ServiceName;
+
+
+ /** gets a column's table name.
+ */
+ [readonly, property] string TableName;
+
+
+ /** gets a column's schema name.
+ */
+ [readonly, property] string SchemaName;
+
+
+ /** gets a column's table's catalog name.
+ */
+ [readonly, property] string CatalogName;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/ResultSet.idl b/offapi/com/sun/star/sdb/ResultSet.idl
new file mode 100644
index 000000000..07b9318b4
--- /dev/null
+++ b/offapi/com/sun/star/sdb/ResultSet.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_sdb_ResultSet_idl__
+#define __com_sun_star_sdb_ResultSet_idl__
+
+#include
+
+ module com { module sun { module star { module sdbcx {
+ published interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the
+ com::sun::star::sdbcx::ResultSet
+ by a more sophisticated access to the result sets
+ data.
+ */
+published service ResultSet
+{
+ service com::sun::star::sdbcx::ResultSet;
+
+
+ /** access to the description and data.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowChangeAction.idl b/offapi/com/sun/star/sdb/RowChangeAction.idl
new file mode 100644
index 000000000..c38da1d92
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowChangeAction.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_sdb_RowChangeAction_idl__
+#define __com_sun_star_sdb_RowChangeAction_idl__
+
+ module com { module sun { module star { module sdb {
+
+
+/** determines the type of change which is going to be performed.
+ */
+published constants RowChangeAction
+{
+
+ /** indicates that an insert will be performed.
+ */
+ const long INSERT = 1;
+
+ /** indicates that an update will be performed.
+ */
+ const long UPDATE = 2;
+
+ /** indicates that a delete will be performed.
+ */
+ const long DELETE = 3;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowChangeEvent.idl b/offapi/com/sun/star/sdb/RowChangeEvent.idl
new file mode 100644
index 000000000..d6e6a292b
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowChangeEvent.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_sdb_RowChangeEvent_idl__
+#define __com_sun_star_sdb_RowChangeEvent_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** indicates the type of change action on the data source.
+ */
+published struct RowChangeEvent: com::sun::star::lang::EventObject
+{
+
+ /** indicates the type of change.
+ @see com::sun::star::sdb::RowChangeAction
+ */
+ long Action;
+
+
+ /** indicates the number of rows affected by the change.
+ */
+ long Rows;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowSet.idl b/offapi/com/sun/star/sdb/RowSet.idl
new file mode 100644
index 000000000..69ecef300
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowSet.idl
@@ -0,0 +1,385 @@
+/* -*- 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_sdb_RowSet_idl__
+#define __com_sun_star_sdb_RowSet_idl__
+
+#include
+
+module com { module sun { module star { module sdbc {
+published interface XConnection;
+};};};};
+#include
+#include
+
+ module com { module sun { module star { module sdbcx {
+published interface XDeleteRows;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+published interface XRowSetApproveBroadcaster;
+published interface XResultSetAccess;
+published interface XParametersSupplier;
+
+
+/** is a client side RowSet, which use retrieves is data based on a database table,
+ a query or a SQL command or by a row set reader, who mustn't support SQL.
+ The connection of the row set is typically a named DataSource or a DataAccess component
+ or a previous instantiated connection.
+
+ Depending on the
+ com::sun::star::sdbc::ResultSetConcurrency
+ , the RowSet caches all data or uses
+ an optimized way for retrieving the data, such as, refetching rows by their keys or
+ if provided, by their bookmarks.
+
+
+ In addition, it provides events for RowSet navigation and RowSet modifications
+ to approve the actions and to react on them.
+ @see com::sun::star::sdb::RowChangeAction
+ @see com::sun::star::sdb::RowChangeEvent
+ @see com::sun::star::sdb::RowsChangeEvent
+
+
+ Notifications
+ A row set is able to be operated in various ways, and additionally it notifies various changes in its
+ state. Clients of this service can rely on a fixed order of notifications, depending on how they operate
+ on the component.
+ The following describes the general order of all possible notifications which you can encounter when
+ working with a row set:
+
+ approving |
+ Before anything really happens, any veto listeners are called to approve the operation
+ which is just being done. This may be either a
+ XRowSetApproveListener::approveCursorMove() or
+ XRowSetApproveListener::approveRowChange() call.
+ @see XRowSetApproveListener
+ |
+
+ column values |
+ If the operation includes changes in the values of the columns of the row set, then these are
+ notified before anything else (except requests for approval).
+ @see ResultSet
+ @see com::sun::star::sdbcx::XColumnsSupplier
+ |
+
+ operation done |
+ When the operation is done, you get a notification about this. It may be a
+ com::sun::star::sdbc::XRowSetListener::cursorMoved() or a
+ com::sun::star::sdbc::XRowSetListener::rowChanged() call or a
+ XRowsChangeListener::rowsChanged() call.
+ |
+
+ row state |
+ If the operation leads to a change in the state of the #IsModified
+ and/or #IsNew property, this is notified next (in this order).
+ |
+
+ row count |
+ If the operation leads to new knowledge about the number of rows in the result set,
+ the respective changes in the #RowCount and #IsRowCountFinal
+ are notified last (in this order).
+ |
+
+
+
+
+
+
+ The following matrix shows the notifications which apply to the different operations:
+
+ | approveCursorMove | approveRowChange |
+ column values |
+ cursorMoved | rowChanged |
+ rowsChanged |
+ IsModified | IsNew |
+ RowCount | IsRowCountFinal |
+
+
+ com::sun::star::sdbc::XResultSet | | | | | | | | |
+
+ next | X | | X | X | | | X | X | X | X |
+
beforeFirst | X | | X | X | | | X | X | | |
+ afterLast | X | | X | X | | | X | X | X | X |
+ first | X | | X | X | | | X | X | X | X |
+ last | X | | X | X | | | X | X | X | X |
+ absolute | X | | X | X | | | X | X | X | X |
+ relative | X | | X | X | | | X | X | X | X |
+ previous | X | | X | X | | | X | X | X | X |
+ refreshRow | | | X | | | | X | X | | |
+ cancelRowUpdates | | | X | | | | X | | | |
+
+ com::sun::star::sdbc::XResultSetUpdate | | | | | | | | |
+
+ insertRow | | X | X | | X | X | X | X | X | X |
+ updateRow | | X | X | | X | X | X | | | |
+ deleteRow | | X | | | X | X | X | X | X | X |
+ moveToInsertRow | X | | X | X | | | | X | X |
+ moveToCurrentRow | X | | | X | | | X | X | | |
+
+ com::sun::star::sdbcx::XDeleteRows | | | | | | | | |
+
+ deleteRows | | X | | | X | X | X | X | X | X |
+
+ com::sun::star::sdbcx::XRowLocate | | | | | | | | |
+
+ moveToBookmark | X | | X | X | | | X | X | | |
+ moveRelativeToBookmark | X | | X | X | | | X | X | X | X |
+
+
+
+
+
+ Deletions
+ Via com::sun::star::sdbc::XResultSetUpdate::deleteRow(), you can delete the current row of a
+ RowSet. This deleted row then doesn't vanish immediately, but is still present, and subsequent calls to
+ com::sun::star::sdbc::XResultSet::rowDeleted() will return `TRUE`. The deleted row "vanishes" from
+ the RowSet as soon as the cursor is moved away from it.
+ As a consequence, the behavior of several other methods is affected:
+
+ - com::sun::star::sdbc::XResultSet::getRow()
+ - returns the position of the cursor, which has not been changed by the deletion.
+
+ - com::sun::star::sdbc::XResultSet:
next
, first
, last
, absolute
,
+ relative
, previous
, beforeFirst
, afterLast
+ - will let the deleted row vanish from the result set. As a consequence, the #RowCount
+ will decrease when you do such a move operation after deleting a row.
+ A special case to note is the next
call: When you delete row, say,
+ 15
, followed by next
, then your RowSet afterwards
+ still is on row 15, since the deleted row vanished with the move operation.
+
+ - com::sun::star::sdbc::XResultSet::refreshRow()
+ - will throw an exception when the cursor is on a deleted row.
+
+ - com::sun::star::sdbc::XRow:
getFoo
+ - will return an empty value when the cursor is on a deleted row.
+
+ - com::sun::star::sdbcx::XRowLocate::getBookmark()
+ - will throw an exception when the cursor is on a deleted row.
+
+ - com::sun::star::sdbc::XRowUpdate:
updateFoo
+ - will throw an exception when the cursor is on a deleted row.
+
+ - com::sun::star::sdbc::XResultSetUpdate::deleteRow()
+ - will throw an exception when the cursor is on a deleted row.
+
+ - com::sun::star::sdbc::XResultSetUpdate::moveToInsertRow()
+ - will let the deleted row vanish from the result set. As a consequence, the #RowCount
+ will decrease. Also, subsequent calls to
+ com::sun::star::sdbc::XResultSetUpdate::moveToCurrentRow() will not
+ be able to move back to the deleted row (since it vanished), but only to the
+ row after the deleted row.
+
+
+ */
+published service RowSet
+{
+ service com::sun::star::sdbc::RowSet;
+
+ service com::sun::star::sdb::ResultSet;
+
+ /** can be used to allow an interaction handler to supply missing data during an execute process.
+
+ If you want a row set to be based on a parametrized query, you will usually use
+ the com::sun::star::sdbc::XParameters interface.
+ However, you can also choose to let an interaction handler supply such data. For this, you may
+ for instance instantiate an InteractionHandler, which asks the user for the
+ data, or you may write your own one, which supplies the data from somewhere else.
+ The default implementation will only ask for parameters which aren't set before through the com::sun::star::sdbc::XParameters interface.
+
+ @see com::sun::star::sdb::InteractionHandler
+ */
+ interface com::sun::star::sdb::XCompletedExecution;
+
+ /** approving of actions performed on the row set.
+
+ The support of this interface implies a semantical extension to the com::sun::star::sdbc::XResultSetUpdate
+ interface which is supported via the com::sun::star::sdbc::ResultSet.
+
+ @see XResultSetUpdate
+ */
+ interface XRowSetApproveBroadcaster;
+
+ /** is the interface for updating row data to the database.
+
+ The optional support of this interface is already implied with the support of the com::sun::star::sdbc::ResultSet service.
+
+ However, note that the additional support of the XRowSetApproveBroadcaster interface results
+ in a semantical extension: the methods com::sun::star::sdbc::XResultSetUpdate::insertRow(),
+ com::sun::star::sdbc::XResultSetUpdate::updateRow() and com::sun::star::sdbc::XResultSetUpdate::deleteRow()
+ will now throw the RowSetVetoException if the action which is to be performed was vetoed
+ by one of the XRowSetApproveListener's.
+ */
+ [optional] interface com::sun::star::sdbc::XResultSetUpdate;
+
+ /** is the interface for deleting more than one row, identified by its bookmark.
+
+ The optional support of this interface is already implied with the support of the com::sun::star::sdbcx::ResultSet service.
+
+ However, note that the additional support of the XRowSetApproveBroadcaster interface results
+ in a semantical extension: the method com::sun::star::sdbcx::XDeleteRows::deleteRows()
+ will now throw the RowSetVetoException if the deletion was vetoed
+ by one of the XRowSetApproveListener's.
+ */
+ [optional] interface com::sun::star::sdbcx::XDeleteRows;
+
+ /** creates a second result set which is based on the same data.
+
+ The new result set is interoperable with the row set which created it,
+ e.g., you can exchange bookmarks between both sets.
+
+
+ If the row set is not alive (i.e., it was not executed before),
+ `NULL`
+ is returned.
+
+ */
+ interface XResultSetAccess;
+
+ /** gives access to the parameters contained in the SQL statement represented by the component.
+
+ If your RowSet
is bound to an SQL command or query which contains parameters, or has
+ a #Filter or #Order which contains parameters, then those can be accessed
+ using the XParametersSupplier
interface.
+
+ The returned container contains parameter objects which do allow write access to the parameters (which
+ is equivalent to using the com::sun::star::sdbc::XParameters interface inherited from
+ com::sun::star::sdbc::RowSet). Additionally, they provide information about the parameters,
+ such as their name (if they have one), their type, and the like.
+ */
+ [optional] interface XParametersSupplier;
+
+ /** is the connection generated by a DataSource or by a URL. It could
+ also be set from outside. When set from outside the RowSet is not responsible for the closing of the connection.
+ */
+ [property] com::sun::star::sdbc::XConnection ActiveConnection;
+
+
+ /** is the name of the datasource to use, this could be a named datasource
+ or the URL of a data access component.
+ */
+ [property] string DataSourceName;
+
+
+ /** is the command which should be executed, the type of command depends
+ on the CommandType.
+
+ In case of a #CommandType of CommandType::COMMAND,
+ means in case the #Command specifies an SQL statement, the inherited
+ com::sun::star::sdbc::RowSet::EscapeProcessing
+ becomes relevant:
+ It then can be to used to specify whether the SQL statement should be analyzed on the
+ client side before sending it to the database server.
+ The default value for com::sun::star::sdbc::RowSet::EscapeProcessing
+ is `TRUE`. By switching it to `FALSE`, you can pass backend-specific SQL statements,
+ which are not standard SQL, to your database.
+
+ @see com::sun::star::sdb::CommandType
+ @see com::sun::star::sdbc::RowSet::EscapeProcessing
+ */
+ [property] string Command;
+
+ /** is the type of the command.
+ @see com::sun::star::sdb::CommandType
+ */
+ [property] long CommandType;
+
+ /** is the command which is currently used.
+ @see com::sun::star::sdb::CommandType
+ */
+ [readonly, property] string ActiveCommand;
+
+
+ /** indicates whether all results should be discarded or not.
+ */
+ [property] boolean IgnoreResult;
+
+
+ /** additional filter for a row set.
+ */
+ [property] string Filter;
+
+
+ /** indicates whether the filter should be applied or not,
+ default is `FALSE`.
+ */
+ [property] boolean ApplyFilter;
+
+ /** additional having clause for the row set
+ */
+ [optional,property] string HavingClause;
+
+ /** additional group by for the row set
+ */
+ [optional,property] string GroupBy;
+
+ /** is an additional sort order definition for a row set.
+ */
+ [property] string Order;
+
+
+ /** indicates the privileges for insert, update, and delete.
+ @see com::sun::star::sdbcx::Privilege
+ */
+ [readonly, property] long Privileges;
+
+
+ /** indicates that the current row is modified.
+ */
+ [readonly, property] boolean IsModified;
+
+
+ /** indicates that the current row is going to be inserted to the database.
+ */
+ [readonly, property] boolean IsNew;
+
+
+ /** contains the number of rows accessed in the data source.
+ */
+ [readonly, property] long RowCount;
+
+
+ /** indicates that all rows of the row set have been counted.
+ */
+ [readonly, property] boolean IsRowCountFinal;
+
+
+ /** is the name of the table which should be updated, this is usually used
+ for queries which relate to more than one table.
+ */
+ [optional, property] string UpdateTableName;
+
+ /** is the name of the table catalog
+ */
+ [optional, property] string UpdateCatalogName;
+
+
+ /** is the name of the table schema.
+ */
+ [optional, property] string UpdateSchemaName;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowSetVetoException.idl b/offapi/com/sun/star/sdb/RowSetVetoException.idl
new file mode 100644
index 000000000..0ee35ba89
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowSetVetoException.idl
@@ -0,0 +1,42 @@
+/* -*- 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_sdb_RowSetVetoException_idl__
+#define __com_sun_star_sdb_RowSetVetoException_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is an exception fired whenever a row set operation was cancelled because of
+ of a veto of an approved listener.
+ @see com::sun::star::sdb::XRowSetApproveListener
+ */
+published exception RowSetVetoException: com::sun::star::sdbc::SQLException
+{
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/RowsChangeEvent.idl b/offapi/com/sun/star/sdb/RowsChangeEvent.idl
new file mode 100644
index 000000000..7757ce410
--- /dev/null
+++ b/offapi/com/sun/star/sdb/RowsChangeEvent.idl
@@ -0,0 +1,42 @@
+/* -*- 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_sdb_RowsChangeEvent_idl__
+#define __com_sun_star_sdb_RowsChangeEvent_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** indicates which rows have changed and the type of change action on the row set.
+ */
+struct RowsChangeEvent: com::sun::star::sdb::RowChangeEvent
+{
+
+ sequence< any > Bookmarks;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SQLContext.idl b/offapi/com/sun/star/sdb/SQLContext.idl
new file mode 100644
index 000000000..02f868a14
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLContext.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_sdb_SQLContext_idl__
+#define __com_sun_star_sdb_SQLContext_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides special information about the context where a
+ com::sun::star::sdbc::SQLException
+ occurred. As usual
+ for SQLExceptions, several SQLContext-objects may be chained, then the
+ most recent context is appended to the list's tail.
+
+ @see com::sun::star::sdbc::XConnection::getWarnings
+ @see com::sun::star::sdbc::XResultSet::getWarnings
+ @see com::sun::star::sdbc::XStatement::getWarnings
+ */
+published exception SQLContext: com::sun::star::sdbc::SQLWarning
+{
+ /** provides special info about the details where a
+ com::sun::star::sdbc::SQLException
+ occurred.
+ As usual for SQLExceptions, several SQLContext-objects may be chained, then the
+ most recent context is appended to the list's tail
+ */
+ string Details;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SQLErrorEvent.idl b/offapi/com/sun/star/sdb/SQLErrorEvent.idl
new file mode 100644
index 000000000..ae00ab16a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLErrorEvent.idl
@@ -0,0 +1,46 @@
+/* -*- 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_sdb_SQLErrorEvent_idl__
+#define __com_sun_star_sdb_SQLErrorEvent_idl__
+
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** is invoked in case of fired database exception triggered by
+ a database object.
+ */
+published struct SQLErrorEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the exception that is going to be fired.
+ */
+ any Reason;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SQLFilterOperator.idl b/offapi/com/sun/star/sdb/SQLFilterOperator.idl
new file mode 100644
index 000000000..af1a93e39
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLFilterOperator.idl
@@ -0,0 +1,71 @@
+/* -*- 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_sdb_SQLFilterOperator_idl__
+#define __com_sun_star_sdb_SQLFilterOperator_idl__
+
+module com { module sun { module star { module sdb {
+
+
+/** These constants are used to specify the filter operator
+ which should be applied when creating a filter
+ with the method XSingleSelectQueryComposer::setStructuredFilter().
+
+ @see com::sun::star::sdb::SingleSelectQueryComposer
+ @see com::sun::star::sdb::XSingleSelectQueryComposer
+*/
+constants SQLFilterOperator
+{
+ /// equal to
+ const long EQUAL = 1;
+
+ /// not equal to
+ const long NOT_EQUAL = 2;
+
+ /// less than
+ const long LESS = 3;
+
+ /// greater than
+ const long GREATER = 4;
+
+ /// less or equal than
+ const long LESS_EQUAL = 5;
+
+ /// greater or equal than
+ const long GREATER_EQUAL = 6;
+
+ /// like
+ const long LIKE = 7;
+
+ /// not like
+ const long NOT_LIKE = 8;
+
+ /// is null
+ const long SQLNULL = 9;
+
+ /// is not null
+ const long NOT_SQLNULL = 10;
+};
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SQLQueryComposer.idl b/offapi/com/sun/star/sdb/SQLQueryComposer.idl
new file mode 100644
index 000000000..a3346c532
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SQLQueryComposer.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_sdb_SQLQueryComposer_idl__
+#define __com_sun_star_sdb_SQLQueryComposer_idl__
+
+#include
+
+ module com { module sun { module star { module sdbcx {
+ published interface XTablesSupplier;
+ published interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** represents a tool for composing SQL select statements.
+
+
+
+ It hides the complexity of parsing and evaluating SQL Statements and provides
+ sophisticated methods for expanding a SQL-Statement with filter and order
+ criteria.
+
+ */
+published service SQLQueryComposer
+{
+
+ /** access to the composer interface.
+ */
+ interface XSQLQueryComposer;
+
+
+ /** access to the selected tables.
+ */
+ interface com::sun::star::sdbcx::XTablesSupplier;
+
+
+ /** access the selected columns.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl b/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl
new file mode 100644
index 000000000..4b701c9ff
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SingleSelectQueryAnalyzer.idl
@@ -0,0 +1,81 @@
+/* -*- 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_sdb_SingleSelectQueryAnalyzer_idl__
+#define __com_sun_star_sdb_SingleSelectQueryAnalyzer_idl__
+
+#include
+
+ module com { module sun { module star { module sdbcx {
+interface XTablesSupplier;
+interface XColumnsSupplier;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+ interface XParametersSupplier;
+/** represents a service for analyzing a single select statement.
+
+
+ It hides the complexity of parsing and evaluating a single select statement and provides
+ sophisticated methods for accessing a statements filter, group by, having and order
+ criteria, as well as the corresponding select columns and tables.
+ If supported, it even gives access to the parameters.
+
+
+ @see com::sun::star::sdb::SingleSelectQueryComposer
+ */
+service SingleSelectQueryAnalyzer
+{
+ interface XSingleSelectQueryAnalyzer;
+
+ /** access to the selected tables.
+
+ The selected tables are those present in the FROM
part
+ of a SELECT
statement.
+
+ Note that OpenOffice.org since version 2.0.4 also supports queries which are
+ based on other queries. For example, given that you have a database containing
+ a query named All Orders
, the SQL statement SELECT * FROM "All Orders"
+ is perfectly valid when used with a SingleSelectQueryAnalyzer.
+
+ In this case, the name container returned by com::sun::star::sdbcx::XTablesSupplier::getTables()
+ will in fact not return a Table, but a Query object. Semantically, however,
+ this object still acts as a table in the SQL statement.
+
+ @see XSingleSelectQueryAnalyzer::getQueryWithSubstitution
+ */
+ interface com::sun::star::sdbcx::XTablesSupplier;
+
+ /** access the selected columns.
+ */
+ interface com::sun::star::sdbcx::XColumnsSupplier;
+
+ /** access to the parameters which are used in the where clause.
+ */
+ [optional] interface com::sun::star::sdb::XParametersSupplier;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl b/offapi/com/sun/star/sdb/SingleSelectQueryComposer.idl
new file mode 100644
index 000000000..bfea134fb
--- /dev/null
+++ b/offapi/com/sun/star/sdb/SingleSelectQueryComposer.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_sdb_SingleSelectQueryComposer_idl__
+#define __com_sun_star_sdb_SingleSelectQueryComposer_idl__
+
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+interface XSingleSelectQueryComposer;
+/** represents a service for composing a single select statement.
+
+
+ It hides the complexity of parsing and evaluating a single select statement and provides
+ sophisticated methods for expanding a statement with filter, group by, having and order
+ criteria. To get the new extended statement use the methods from com::sun::star::sdb::SingleSelectQueryAnalyzer.
+
+
+ A SingleSelectQueryComposer is usually obtained from a Connection
+ using the com::sun::star::lang::XMultiServiceFactory interface.
+ */
+service SingleSelectQueryComposer
+{
+ // gives access to the properties.
+ interface com::sun::star::beans::XPropertySet;
+
+ /** access to the analyzer service.
+ */
+ service SingleSelectQueryAnalyzer;
+
+ interface XSingleSelectQueryComposer;
+
+ /** is the original SQL statement set with the interface com::sun::star::sdb::XSingleSelectQueryAnalyzer.
+ */
+ [readonly, property] string Original;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/Table.idl b/offapi/com/sun/star/sdb/Table.idl
new file mode 100644
index 000000000..c65702fdd
--- /dev/null
+++ b/offapi/com/sun/star/sdb/Table.idl
@@ -0,0 +1,54 @@
+/* -*- 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_sdb_Table_idl__
+#define __com_sun_star_sdb_Table_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the service
+ com::sun::star::sdbcx::Table
+ with additional display information, sorting, and filtering criteria.
+ */
+published service Table
+{
+ service com::sun::star::sdbcx::Table;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::DataSettings;
+
+
+ /** indicates the privileges for the table.
+ @see com::sun::star::sdbcx::Privilege
+ */
+ [readonly, property] long Privileges;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/TableDefinition.idl b/offapi/com/sun/star/sdb/TableDefinition.idl
new file mode 100644
index 000000000..e1ee4f44d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TableDefinition.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_sdb_TableDefinition_idl__
+#define __com_sun_star_sdb_TableDefinition_idl__
+
+#include
+
+module com { module sun { module star { module sdb {
+
+/**
+ This IDL was created from the service's places of use, so it is probably incomplete.
+
+ @since LibreOffice 4.1
+ */
+service TableDefinition : com::sun::star::beans::XPropertySet
+{
+ createDefault();
+
+ createWithName([in] string Name);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/TableDescriptor.idl b/offapi/com/sun/star/sdb/TableDescriptor.idl
new file mode 100644
index 000000000..03f6a1fde
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TableDescriptor.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_sdb_TableDescriptor_idl__
+#define __com_sun_star_sdb_TableDescriptor_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** extends the service
+ com::sun::star::sdbcx::TableDescriptor
+ with additional display information, sorting, and filtering criteria.
+ */
+published service TableDescriptor
+{
+ service com::sun::star::sdbcx::TableDescriptor;
+
+
+ /** is used for customization of data appearance.
+ */
+ service com::sun::star::sdb::DataSettings;
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/TableDesign.idl b/offapi/com/sun/star/sdb/TableDesign.idl
new file mode 100644
index 000000000..c084e6ee2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TableDesign.idl
@@ -0,0 +1,80 @@
+/* -*- 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_sdb_TableDesign_idl__
+#define __com_sun_star_sdb_TableDesign_idl__
+
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/** implements a component which allows the creation of tables.
+
+ This service implements a user interface for creating tables through a graphical design interface.
+
+ The design view of the TableDesign is divided into two parts. The first part contains the rows
+ where columns can be defined for the table. The second part contains the properties of the selected column.
+
+ @see com::sun::star::sdb::ContentLoader
+ @see com::sun::star::frame::XDispatch
+ @see com::sun::star::frame::XDispatchProviderInterceptor
+
+ @since OOo 1.1.2
+*/
+
+published service TableDesign
+{
+ /** allows the component to be plugged into frames.
+ */
+ interface com::sun::star::frame::XController;
+
+ /** is used to initialize the TableDesign.
+
+ Parameters (passed to the method
+ com::sun::star::lang::XInitialization::initialize())
+ have to be instances of com::sun::star::beans::PropertyValue, where the
+ com::sun::star::beans::PropertyValue::Name member specifies what the parameter controls,
+ with the com::sun::star::beans::PropertyValue::Value member containing the value
+ to be used.
+ Recognized parameters are:
+
+ - Frame
+ has to be a com::sun::star::frame::XFrame interface specifying the frame to plug the
+ TableDesign component into.
+
+ - DataSourceName
+ The name of the globally registered DataSource to be used for initial display. It is only
+ meaningful together with the other parameters specifying the object to display.
+
+ - CurrentTable
+ This is a string giving the name of the object to display initially.
+
+
+
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/TextConnectionSettings.idl b/offapi/com/sun/star/sdb/TextConnectionSettings.idl
new file mode 100644
index 000000000..fecb15005
--- /dev/null
+++ b/offapi/com/sun/star/sdb/TextConnectionSettings.idl
@@ -0,0 +1,38 @@
+/* -*- 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_sdb_TextConnectionSettings_idl__
+#define __com_sun_star_sdb_TextConnectionSettings_idl__
+
+#include
+
+module com { module sun { module star { module sdb {
+
+/**
+ @since LibreOffice 4.1
+*/
+service TextConnectionSettings : XTextConnectionSettings;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XAlterQuery.idl b/offapi/com/sun/star/sdb/XAlterQuery.idl
new file mode 100644
index 000000000..924ddd7fe
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XAlterQuery.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_sdb_XAlterQuery_idl__
+#define __com_sun_star_sdb_XAlterQuery_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+/** is used to alter the command of a query.
+ */
+published interface XAlterQuery: com::sun::star::uno::XInterface
+{
+
+ /** is intended to alter the command of a query object.
+ @param command
+ the SQL statement
+ @param useEscapeProcessing
+ `TRUE` when escape processing should be used
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void alterCommand([in]string command, [in]boolean useEscapeProcessing)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XBookmarksSupplier.idl b/offapi/com/sun/star/sdb/XBookmarksSupplier.idl
new file mode 100644
index 000000000..a91fd9abf
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XBookmarksSupplier.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_sdb_XBookmarksSupplier_idl__
+#define __com_sun_star_sdb_XBookmarksSupplier_idl__
+
+#include
+
+#include
+
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides access to the collection of all bookmarks associated with a data source.
+ */
+published interface XBookmarksSupplier: com::sun::star::uno::XInterface
+{
+
+ /** @returns the collection of all bookmarks associated with a data source
+
+ A bookmark is simply a string specifying the location of the
+ bookmarked document.
+
+ */
+ com::sun::star::container::XNameAccess getBookmarks();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XColumn.idl b/offapi/com/sun/star/sdb/XColumn.idl
new file mode 100644
index 000000000..1ac46d827
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XColumn.idl
@@ -0,0 +1,267 @@
+/* -*- 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_sdb_XColumn_idl__
+#define __com_sun_star_sdb_XColumn_idl__
+
+#include
+
+#include
+
+#include
+
+#include
+
+#include
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+ module com { module sun { module star { module container {
+ published interface XNameAccess;
+};};};};
+
+ module com { module sun { module star { module sdbc {
+ published interface XRef;
+ published interface XArray;
+ published interface XBlob;
+ published interface XClob;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used to access data which is collected in a row.
+ */
+published interface XColumn: com::sun::star::uno::XInterface
+{
+
+ /** reports whether the last column read had a value of SQL NULL.
+ Note that you must first call getXXX on a column to try to read
+ its value and then call
+ wasNull()
+ to see if the value read was SQL NULL.
+ @returns
+ `TRUE` if so
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ boolean wasNull() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a String.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ string getString() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as boolean.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ boolean getBoolean() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a byte.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ byte getByte() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a short.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ short getShort() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a long.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ long getInt() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a hyper.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ hyper getLong() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a float.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ float getFloat() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a double.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ double getDouble() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a byte array.
+ The bytes represent the raw values returned by the driver.
+ @returns the column value;
+ if the value is SQL NULL, the result is empty.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ sequence getBytes() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a date object.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Date getDate()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a time object.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::Time getTime()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a datetime object.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::util::DateTime getTimestamp()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a stream of
+ uninterpreted bytes. The value can then be read in chunks from the
+ stream. This method is particularly suitable for retrieving large
+ LONGVARBINARY or LONGVARCHAR values.
+
+
+
+ Note: All the data in the returned stream must be
+ read prior to getting the value of any other column. The next
+ call to a get method implicitly closes the stream. Also, a
+ stream may return 0 when the method
+ com::sun::star::io::XInputStream::available()
+ is called whether there is data available or not.
+
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getBinaryStream()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets the value of a column in the current row as a stream of
+ uninterpreted bytes. The value can then be read in chunks from the
+ stream. This method is particularly suitable for retrieving large
+ LONGVARCHAR values.
+
+
+ Note: All the data in the returned stream must be
+ read prior to getting the value of any other column. The next
+ call to a get method implicitly closes the stream. Also, a
+ stream may return 0 when the method
+ com::sun::star::io::XInputStream::available()
+ is called whether there is data available or not.
+
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::io::XInputStream getCharacterStream()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** @returns the value of a column in the current row as an object.
+ This method uses the given
+ Map
+ object
+ for the custom mapping of the SQL structure or distinct type
+ that is being retrieved.
+ @param typeMap
+ the type map is used to fetch the correct type
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ any getObject([in]com::sun::star::container::XNameAccess typeMap)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** gets a REF(<structured-type>) column value from the current row.
+
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XRef getRef() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets a BLOB (Binary Large OBject) value in the current row.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XBlob getBlob() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets a CLOB value in the current row of this ResultSet
object.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XClob getClob() raises (com::sun::star::sdbc::SQLException);
+
+ /** gets a SQL ARRAY value from the current row.
+ @returns
+ the column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XArray getArray() raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XColumnUpdate.idl b/offapi/com/sun/star/sdb/XColumnUpdate.idl
new file mode 100644
index 000000000..784f6c75c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XColumnUpdate.idl
@@ -0,0 +1,199 @@
+/* -*- 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_sdb_XColumnUpdate_idl__
+#define __com_sun_star_sdb_XColumnUpdate_idl__
+
+#include
+
+#include
+
+#include
+
+#include
+
+#include
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used to update data which is collected in a row.
+ */
+published interface XColumnUpdate: com::sun::star::uno::XInterface
+{
+
+ /** gives a nullable column a null value.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateNull() raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a boolean value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateBoolean([in]boolean x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a byte value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateByte([in]byte x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a short value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateShort([in]short x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a long value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateInt([in]long x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a hyper value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateLong([in]hyper x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a float value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateFloat([in]float x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a double value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateDouble([in]double x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a string value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateString([in]string x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a byte array value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateBytes([in]sequence x) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a Date value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateDate([in]com::sun::star::util::Date x)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a Time value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateTime([in]com::sun::star::util::Time x)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a Timestamp value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateTimestamp([in]com::sun::star::util::DateTime x)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a stream value.
+ @param x
+ the new column value
+ @param length
+ the length of the stream
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateBinaryStream([in]com::sun::star::io::XInputStream x,
+ [in]long length) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with a stream value.
+ @param x
+ the new column value
+ @param length
+ the length of the stream
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateCharacterStream([in]com::sun::star::io::XInputStream x,
+ [in]long length) raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with an Object value.
+ @param x
+ the new column value
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateObject([in]any x)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** updates a column with an Object value.
+ @param x
+ the new column value
+ @param scale
+ the scale
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void updateNumericObject([in]any x, [in]long scale)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XCommandPreparation.idl b/offapi/com/sun/star/sdb/XCommandPreparation.idl
new file mode 100644
index 000000000..918e5aae7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCommandPreparation.idl
@@ -0,0 +1,72 @@
+/* -*- 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_sdb_XCommandPreparation_idl__
+#define __com_sun_star_sdb_XCommandPreparation_idl__
+
+#include
+
+ module com { module sun { module star { module sdbc {
+ published interface XPreparedStatement;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for preparation of commands.
+
+
+ A command could be a table, query, or any kind of SQL statement
+ prepared by the user.
+
+ */
+published interface XCommandPreparation: com::sun::star::uno::XInterface
+{
+
+ /** creates a
+ com::sun::star::sdbc::PreparedStatement
+ object for sending parameterized SQL statements to the database.
+
+
+ A SQL statement with or without IN parameters can be
+ pre-compiled and stored in a PreparedStatement object. This
+ object can then be used to efficiently execute this statement
+ multiple times.
+
+ @param command
+ the command to be prepared. Any SQL statement.
+ @param commandType
+ kind of the command
+ com::sun::star::sdb::CommandType
+ @returns
+ the PreparedStatement object
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XPreparedStatement prepareCommand([in]string command, [in] long commandType)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XCompletedConnection.idl b/offapi/com/sun/star/sdb/XCompletedConnection.idl
new file mode 100644
index 000000000..1e29db206
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCompletedConnection.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_sdb_XCompletedConnection_idl__
+#define __com_sun_star_sdb_XCompletedConnection_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdbc {
+ published interface XConnection;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for establishing connections via a factory which is identified
+ by its name. To complete the information needed for establishing a connection
+ an interaction handler is used.
+ */
+published interface XCompletedConnection: com::sun::star::uno::XInterface
+{
+
+ /** attempts to establish a database connection. If information is missing, such as
+ a user's password, they are completed by user interaction.
+ @param handler
+ will be asked when more information is needed
+ @returns
+ the Connection object
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::sdbc::XConnection
+ connectWithCompletion([in]com::sun::star::task::XInteractionHandler handler)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XCompletedExecution.idl b/offapi/com/sun/star/sdb/XCompletedExecution.idl
new file mode 100644
index 000000000..7a7553a38
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XCompletedExecution.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_sdb_XCompletedExecution_idl__
+#define __com_sun_star_sdb_XCompletedExecution_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for execution where information for execution may be required from
+ the user.
+ */
+published interface XCompletedExecution: com::sun::star::uno::XInterface
+{
+
+ /** completes necessary information before execution, for example parameter values.
+ @param handler
+ will be asked when more information is needed
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void executeWithCompletion([in]com::sun::star::task::XInteractionHandler handler)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl b/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.idl
new file mode 100644
index 000000000..8c43f8fb0
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDataAccessDescriptorFactory.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_sdb_XDataAccessDescriptorFactory_idl__
+#define __com_sun_star_sdb_XDataAccessDescriptorFactory_idl__
+
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/** allows creating instances of the DataAccessDescriptor service.
+
+ Data access descriptors are finally only bags of properties with a defined
+ semantics. Depending on the context in which you use them, certain of their
+ properties are needed or unneeded.
+ The descriptor factory allows you to create instances which offer
+ all properties potentially needed at a descriptor.
+ */
+interface XDataAccessDescriptorFactory
+{
+ /** creates a DataAccessDescriptor which supports all properties
+ defined for this service, even if they're normally optional only.
+ */
+ ::com::sun::star::beans::XPropertySet
+ createDataAccessDescriptor();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseAccess.idl b/offapi/com/sun/star/sdb/XDatabaseAccess.idl
new file mode 100644
index 000000000..65bff201d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseAccess.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_sdb_XDatabaseAccess_idl__
+#define __com_sun_star_sdb_XDatabaseAccess_idl__
+
+#include
+
+#include
+
+#include
+
+ module com { module sun { module star { module task {
+ published interface XInteractionHandler;
+};};};};
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XDatabaseAccessListener;
+
+
+/** is not to be used anymore
+ @deprecated
+ */
+published interface XDatabaseAccess: com::sun::star::sdbc::XDataSource
+{
+ boolean hasConnections();
+ com::sun::star::sdbc::XConnection getIsolatedConnection([in]string user, [in]string password)
+ raises (com::sun::star::sdbc::SQLException);
+ boolean suspendConnections() raises (com::sun::star::sdbc::SQLException);
+ void addDatabaseAccessListener([in]XDatabaseAccessListener listener);
+ void removeDatabaseAccessListener([in]XDatabaseAccessListener listener);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl b/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl
new file mode 100644
index 000000000..604ec2174
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseAccessListener.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_sdb_XDatabaseAccessListener_idl__
+#define __com_sun_star_sdb_XDatabaseAccessListener_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is not to be used anymore
+ @deprecated
+ */
+published interface XDatabaseAccessListener: com::sun::star::lang::XEventListener
+{
+ void connectionChanged([in]com::sun::star::lang::EventObject event);
+ boolean approveConnectionClosing([in]com::sun::star::lang::EventObject event);
+ void connectionClosing([in]com::sun::star::lang::EventObject event);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseContext.idl b/offapi/com/sun/star/sdb/XDatabaseContext.idl
new file mode 100644
index 000000000..b16334275
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseContext.idl
@@ -0,0 +1,81 @@
+/* -*- 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_sdb_XDatabaseContext_idl__
+#define __com_sun_star_sdb_XDatabaseContext_idl__
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/**
+ Provides an interface for the new-style DatabaseContext service to implement.
+
+ @since LibreOffice 4.0
+ */
+published interface XDatabaseContext
+{
+ /** Enumeration on all registered data sources.
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** NameAccess on all registered data sources.
+ One exception is the com.sun.star.container.XNameAccess::getByName().
+ This method also allows to ask
+ for a DataAccessDescriptor::DatabaseLocation.
+
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ /** Interface for registering new datasources.
+ */
+ interface com::sun::star::uno::XNamingService;
+
+ /** Interface for registering listener to get notified when new datasources are created or removed.
+ */
+ interface com::sun::star::container::XContainer;
+
+ /** Interface for creation of new datasources.
+ */
+ interface com::sun::star::lang::XSingleServiceFactory;
+
+ /** allows to access and modify the configuration data for registered data source.
+
+ The main purpose of this interface is to allow you to register data sources which you know
+ by URL only, and have not yet loaded.
+
+ Also, it hides the details of the configuration data where the data source registrations
+ are maintained, so if possible at all, you should use this interface, instead of modifying or
+ querying the configuration data directly.
+
+ @since OOo 3.3
+ */
+ interface XDatabaseRegistrations;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl b/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl
new file mode 100644
index 000000000..29d9bc187
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseEnvironment.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_sdb_XDatabaseEnvironment_idl__
+#define __com_sun_star_sdb_XDatabaseEnvironment_idl__
+
+#include
+
+#include
+
+#include
+
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+ published interface XDatabaseAccess;
+
+
+/** is not to be used anymore.
+
+ @deprecated
+ */
+published interface XDatabaseEnvironment: com::sun::star::sdbc::XDriverManager
+{
+ XDatabaseAccess getDatabaseAccess([in]string URL)
+ raises (com::sun::star::sdbc::SQLException);
+ XDatabaseAccess createDatabaseAccess([in]string URL, [in]string title)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
new file mode 100644
index 000000000..105264277
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl
@@ -0,0 +1,150 @@
+/* -*- 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_sdb_XDatabaseRegistrations_idl__
+#define __com_sun_star_sdb_XDatabaseRegistrations_idl__
+
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb {
+
+published interface XDatabaseRegistrationsListener;
+
+
+/** provides access to the application-wide registered databases.
+
+ This interface provides a mere wrapper around the respective configuration data,
+ this way hiding the concrete configuration structure from its clients. You should,
+ if possible at all, use this interface, instead of modifying or querying the configuration
+ data directly.
+
+ @since OOo 3.3
+ */
+published interface XDatabaseRegistrations
+{
+ /** determines whether a database is registered under the given name.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty
+ */
+ boolean hasRegisteredDatabase( [in] string Name )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ );
+
+ /** returns the names of all registered databases
+ */
+ sequence< string >
+ getRegistrationNames();
+
+ /** returns the location of the database registered under the given name
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no database registered under this name
+ */
+ string getDatabaseLocation( [in] string Name )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::NoSuchElementException
+ );
+
+ /** registers a database, given by location, under a given name
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty, or the given location is invalid.
+
+ @throws ::com::sun::star::container::ElementExistException
+ if there already is a databases registered under the given name.
+ */
+ void registerDatabaseLocation( [in] string Name, [in] string Location )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::ElementExistException
+ );
+
+ /** revokes the registration of a database, given by name
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no database registered under this name
+
+ @throws ::com::sun::star::lang::IllegalAccessException
+ if the registration data for this database is read-only
+ */
+ void revokeDatabaseLocation( [in] string Name )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::NoSuchElementException
+ , ::com::sun::star::lang::IllegalAccessException
+ );
+
+ /** changes the location of a given database registration
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty, or the given location is invalid.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no database registered under this name
+
+ @throws ::com::sun::star::lang::IllegalAccessException
+ if the registration data for this database is read-only
+ */
+ void changeDatabaseLocation( [in] string Name, [in] string NewLocation )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::NoSuchElementException
+ , ::com::sun::star::lang::IllegalAccessException
+ );
+
+ /** determines whether the registration data for a database given by name is
+ read-only.
+
+ In this case, attempts to revoke this registration will fail.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given name is empty
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no database registered under this name
+ */
+ boolean isDatabaseRegistrationReadOnly( [in] string Name )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::container::NoSuchElementException
+ );
+
+ /** registers a listener which is notified of changes in the registered databases
+ */
+ void addDatabaseRegistrationsListener( [in] XDatabaseRegistrationsListener Listener );
+
+ /** revokes a previously registered listener
+ */
+ void removeDatabaseRegistrationsListener( [in] XDatabaseRegistrationsListener Listener );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl
new file mode 100644
index 000000000..80c9b9307
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.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_sdb_XDatabaseRegistrationsListener_idl__
+#define __com_sun_star_sdb_XDatabaseRegistrationsListener_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/** implemented by components which want to be notified of changes in the application-wide registered
+ databases.
+
+ @see XDatabaseRegistrations
+
+ @since OOo 3.3
+ */
+published interface XDatabaseRegistrationsListener : ::com::sun::star::lang::XEventListener
+{
+ /** called when a database has been registered
+ */
+ void registeredDatabaseLocation( [in] DatabaseRegistrationEvent Event );
+
+ /** called when a database registration has been revoked
+ */
+ void revokedDatabaseLocation( [in] DatabaseRegistrationEvent Event );
+
+ /** called when the location of a registered database changed
+
+ Note that this talks about registration data only. That is, if the actual file denoted by the database
+ registration is moved, this is in no way monitored or reported. Only (successful) calls to
+ XDatabaseRegistrations::changeDatabaseLocation() are reported here.
+ */
+ void changedDatabaseLocation( [in] DatabaseRegistrationEvent Event );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XDocumentDataSource.idl b/offapi/com/sun/star/sdb/XDocumentDataSource.idl
new file mode 100644
index 000000000..33dbcdb4c
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XDocumentDataSource.idl
@@ -0,0 +1,60 @@
+/* -*- 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_sdb_XDocumentDataSource_idl__
+#define __com_sun_star_sdb_XDocumentDataSource_idl__
+
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+/** simplifies the accessing of data sources and their corresponding database document.
+
+
+ The interface can be used to access the data source of the database document.
+
+ @see OfficeDatabaseDocument
+ */
+interface XDocumentDataSource
+{
+ /** provides access to the one and only OfficeDatabaseDocument
+ which the data source is based on.
+
+ The component returned by this attribute is an OfficeDatabaseDocument.
+
+ Though there is a 1-to-1 relationship between database documents and data sources,
+ each of the two can exist without its counterpart, but create this counterpart on request
+ only. As a consequence, the document obtained via this attribute might be newly created,
+ which implies that the caller is now responsible for it. In particular, the caller is
+ responsible for calling com::sun::star::util::XCloseable::close()
+ on the document as soon as it's not needed anymore.
+
+ Additionally, if the caller does long-lasting processing on the document, it's advised
+ to add itself as com::sun::star::util::XCloseListener to the document,
+ to prevent closing as long as the processing lasts.
+ */
+ [readonly, attribute] XOfficeDatabaseDocument DatabaseDocument;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl b/offapi/com/sun/star/sdb/XFormDocumentsSupplier.idl
new file mode 100644
index 000000000..4ce5cb266
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XFormDocumentsSupplier.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_sdb_XFormDocumentsSupplier_idl__
+#define __com_sun_star_sdb_XFormDocumentsSupplier_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of database forms.
+ @see Forms
+ */
+interface XFormDocumentsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of forms.
+ @returns
+ the form documents
+ @see Forms
+ */
+ com::sun::star::container::XNameAccess getFormDocuments();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
new file mode 100644
index 000000000..0d9b7a20d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XInteractionDocumentSave.idl
@@ -0,0 +1,54 @@
+/* -*- 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_sdb_XInteractionDocumentSave_idl__
+#define __com_sun_star_sdb_XInteractionDocumentSave_idl__
+
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+
+/** An interaction continuation handing back a document name.
+
+
+ This continuation is typically used in conjunction with a
+ com::sun::star::sdb::DocumentSaveRequest.
+
+ @since OOo 2.0
+*/
+interface XInteractionDocumentSave: com::sun::star::task::XInteractionContinuation
+{
+ /** set the document name chosen by the interaction handler
+ @param Name
+ the name of the document
+ @param Content
+ the content where the document should store itself
+ */
+ void setName( [in] string Name, [in] com::sun::star::ucb::XContent Content);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl b/offapi/com/sun/star/sdb/XInteractionSupplyParameters.idl
new file mode 100644
index 000000000..1d28ea2d7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XInteractionSupplyParameters.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_sdb_XInteractionSupplyParameters_idl__
+#define __com_sun_star_sdb_XInteractionSupplyParameters_idl__
+
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+
+/** An interaction continuation handing back parameter data.
+
+
+ This continuation is typically used in conjunction with a
+ com::sun::star::sdb::ParametersRequest.
+
+*/
+published interface XInteractionSupplyParameters: com::sun::star::task::XInteractionContinuation
+{
+ /** set the parameters chosen by the interaction handler
+ @param Values
+ the parameters to set
+ */
+ void setParameters( [in] sequence< com::sun::star::beans::PropertyValue > Values);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl b/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl
new file mode 100644
index 000000000..3f94aeaed
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XOfficeDatabaseDocument.idl
@@ -0,0 +1,58 @@
+/* -*- 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_sdb_XOfficeDatabaseDocument_idl__
+#define __com_sun_star_sdb_XOfficeDatabaseDocument_idl__
+
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb {
+
+/** simplifies the accessing of data sources, and it's corresponding database document and forms, and reports.
+*/
+interface XOfficeDatabaseDocument
+{
+ /** allows to access the supplier for forms.
+ @see com::sun::star::sdb::Forms
+ */
+ interface com::sun::star::sdb::XFormDocumentsSupplier;
+
+ /** allows to access the supplier for reports.
+ @see com::sun::star::sdb::Reports
+ */
+ interface com::sun::star::sdb::XReportDocumentsSupplier;
+
+ /** allows the access to all sub storages in the office database document.
+ */
+ interface com::sun::star::document::XDocumentSubStorageSupplier;
+
+ /** provides access to the one and only DataSource
+ associated with this document
+ */
+ [readonly, attribute] com::sun::star::sdbc::XDataSource DataSource;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XParametersSupplier.idl b/offapi/com/sun/star/sdb/XParametersSupplier.idl
new file mode 100644
index 000000000..acaf1428e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XParametersSupplier.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_sdb_XParametersSupplier_idl__
+#define __com_sun_star_sdb_XParametersSupplier_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of parameters, typically used for a prepared
+ statement.
+ */
+published interface XParametersSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of parameters.
+ @returns
+ the parameters
+ */
+ com::sun::star::container::XIndexAccess getParameters();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XQueriesSupplier.idl b/offapi/com/sun/star/sdb/XQueriesSupplier.idl
new file mode 100644
index 000000000..509a5e924
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XQueriesSupplier.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_sdb_XQueriesSupplier_idl__
+#define __com_sun_star_sdb_XQueriesSupplier_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of database queries.
+ */
+published interface XQueriesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of queries.
+
+ The single elements of the container support the Query service.
+
+ @return
+ the queries belonging to database connection at which the XQueriesSupplier interface
+ is exposed.
+ */
+ com::sun::star::container::XNameAccess getQueries();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XQueryDefinition.idl b/offapi/com/sun/star/sdb/XQueryDefinition.idl
new file mode 100644
index 000000000..064a7bba8
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XQueryDefinition.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_sdb_XQueryDefinition_idl__
+#define __com_sun_star_sdb_XQueryDefinition_idl__
+
+#include
+#include
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XQueryDefinition
+{
+
+ /** access to the owning database definition object.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::ucb::XContent;
+
+ interface com::sun::star::lang::XComponent;
+
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl b/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.idl
new file mode 100644
index 000000000..1a838ad68
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XQueryDefinitionsSupplier.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_sdb_XQueryDefinitionsSupplier_idl__
+#define __com_sun_star_sdb_XQueryDefinitionsSupplier_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of database command definitions.
+ */
+published interface XQueryDefinitionsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of commands.
+ @returns
+ the query definitions
+ */
+ com::sun::star::container::XNameAccess getQueryDefinitions();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl b/offapi/com/sun/star/sdb/XReportDocumentsSupplier.idl
new file mode 100644
index 000000000..550f18c7d
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XReportDocumentsSupplier.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_sdb_XReportDocumentsSupplier_idl__
+#define __com_sun_star_sdb_XReportDocumentsSupplier_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** provides the access to a container of database reports.
+ @see Reports
+ */
+interface XReportDocumentsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the container of reports.
+ @returns
+ the report documents
+ @see Reports
+ */
+ com::sun::star::container::XNameAccess getReportDocuments();
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XResultSetAccess.idl b/offapi/com/sun/star/sdb/XResultSetAccess.idl
new file mode 100644
index 000000000..825b904e9
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XResultSetAccess.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_sdb_XResultSetAccess_idl__
+#define __com_sun_star_sdb_XResultSetAccess_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XResultSet;
+}; }; }; };
+
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** is the interface to create a
+ com::sun::star::sdbc::ResultSet
+ based on the object providing the interface.
+ */
+published interface XResultSetAccess: com::sun::star::uno::XInterface
+{
+
+ /** returns a new
+ com::sun::star::sdbc::ResultSet
+ based on the object.
+ @returns
+ the new created ResultSet object
+ */
+ com::sun::star::sdbc::XResultSet createResultSet() raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl b/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl
new file mode 100644
index 000000000..39da40083
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetApproveBroadcaster.idl
@@ -0,0 +1,54 @@
+/* -*- 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_sdb_XRowSetApproveBroadcaster_idl__
+#define __com_sun_star_sdb_XRowSetApproveBroadcaster_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+ published interface XRowSetApproveListener;
+
+
+/** provides the possibility of reviving an event before changing the content
+ of a row set.
+ */
+published interface XRowSetApproveBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the events "approveCursorMove",
+ "approveRowChange", and "approveRowSetChange".
+ */
+ void addRowSetApproveListener(
+ [in]XRowSetApproveListener listener );
+
+ /** removes the specified listener.
+ */
+ void removeRowSetApproveListener(
+ [in]XRowSetApproveListener listener );
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetApproveListener.idl b/offapi/com/sun/star/sdb/XRowSetApproveListener.idl
new file mode 100644
index 000000000..70955901e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetApproveListener.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_sdb_XRowSetApproveListener_idl__
+#define __com_sun_star_sdb_XRowSetApproveListener_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for approving the moving and changing of row set actions.
+ */
+published interface XRowSetApproveListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called before a row set's cursor is moved.
+ @param event
+ the event which happened
+ @returns `TRUE` when moving is allowed, otherwise `FALSE`
+ */
+ boolean approveCursorMove([in]com::sun::star::lang::EventObject event);
+
+ /** is called before a row is inserted, updated, or deleted.
+ @param event
+ the event which happened
+ @returns `TRUE` when changing is allowed, otherwise `FALSE`
+ */
+ boolean approveRowChange([in]RowChangeEvent event);
+
+ /** is called before a row set is changed, or in other words
+ before a row set is reexecuted.
+ @param event
+ the event which happened
+ @returns `TRUE` when changing is allowed, otherwise `FALSE`
+ */
+ boolean approveRowSetChange([in]com::sun::star::lang::EventObject event);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl b/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl
new file mode 100644
index 000000000..632c4ce48
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetChangeBroadcaster.idl
@@ -0,0 +1,54 @@
+/* -*- 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_sdb_XRowSetChangeBroadcaster_idl__
+#define __com_sun_star_sdb_XRowSetChangeBroadcaster_idl__
+
+#include
+
+
+module com { module sun { module star { module sdb {
+
+interface XRowSetChangeListener;
+
+
+/** broadcasts changes in the RowSet
supplied by a component
+
+ @see XRowSetSupplier
+ @see XRowSetChangeListener
+ @since OOo 3.2
+ */
+interface XRowSetChangeBroadcaster
+{
+ /** adds a listener to be notified when the RowSet
supplied by the component changes.
+ */
+ void addRowSetChangeListener( [in] XRowSetChangeListener iListener );
+
+ /** removes a previously added listener.
+ */
+ void removeRowSetChangeListener( [in] XRowSetChangeListener iListener );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetChangeListener.idl b/offapi/com/sun/star/sdb/XRowSetChangeListener.idl
new file mode 100644
index 000000000..8e178b962
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetChangeListener.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_sdb_XRowSetChangeListener_idl__
+#define __com_sun_star_sdb_XRowSetChangeListener_idl__
+
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/** is implemented by components which want to be notified when the RowSet
supplied
+ by a XRowSetSupplier changes.
+
+ @see XRowSetChangeBroadcaster
+ @see XRowSetSupplier
+ @since OOo 3.2
+ */
+ interface XRowSetChangeListener : ::com::sun::star::lang::XEventListener
+{
+ /** notifies the listener that the RowSet
associated with a XRowSetSupplier
+ has changed.
+ */
+ void onRowSetChanged( [in] ::com::sun::star::lang::EventObject iEvent );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowSetSupplier.idl b/offapi/com/sun/star/sdb/XRowSetSupplier.idl
new file mode 100644
index 000000000..8b3950420
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowSetSupplier.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_sdb_XRowSetSupplier_idl__
+#define __com_sun_star_sdb_XRowSetSupplier_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** uses a row set as datasource.
+
+ @see XRowSetChangeBroadcaster
+ */
+published interface XRowSetSupplier: com::sun::star::uno::XInterface
+{
+
+ /** provides access to the data source.
+ @returns
+ the RowSet object
+ */
+ com::sun::star::sdbc::XRowSet getRowSet();
+
+
+ /** sets the data source.
+ @param xDataSource
+ the RowSet object to set
+ */
+ void setRowSet( [in] com::sun::star::sdbc::XRowSet xDataSource );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/*===========================================================================
+===========================================================================*/
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl b/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl
new file mode 100644
index 000000000..06ab89cd3
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl
@@ -0,0 +1,54 @@
+/* -*- 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_sdb_XRowsChangeBroadcaster_idl__
+#define __com_sun_star_sdb_XRowsChangeBroadcaster_idl__
+
+#include
+
+
+module com { module sun { module star { module sdb {
+
+interface XRowsChangeListener;
+
+
+/** broadcasts changes in the RowSet
supplied by a component
+
+ @see XRowSetSupplier
+ @see XRowsChangeListener
+ @since OOo 3.3
+ */
+interface XRowsChangeBroadcaster
+{
+ /** adds a listener to be notified when the RowSet
supplied by the component changes.
+ */
+ void addRowsChangeListener( [in] XRowsChangeListener listener );
+
+ /** removes a previously added listener.
+ */
+ void removeRowsChangeListener( [in] XRowsChangeListener listener );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XRowsChangeListener.idl b/offapi/com/sun/star/sdb/XRowsChangeListener.idl
new file mode 100644
index 000000000..fe25ec431
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XRowsChangeListener.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_sdb_XRowsChangeListener_idl__
+#define __com_sun_star_sdb_XRowsChangeListener_idl__
+
+#include
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is used for receiving "rowsChanged" events
+ posted by, for example, a row set.
+ */
+interface XRowsChangeListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when rows are inserted, updated, or deleted.
+ @param event
+ contains information about the event
+ */
+ void rowsChanged([in]com::sun::star::sdb::RowsChangeEvent event);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl b/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.idl
new file mode 100644
index 000000000..e820eb805
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLErrorBroadcaster.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_sdb_XSQLErrorBroadcaster_idl__
+#define __com_sun_star_sdb_XSQLErrorBroadcaster_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** interface for notifying potential listeners
+ of
+ com::sun::star::sdbc::SQLException
+ s posted by any database object.
+ */
+published interface XSQLErrorBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** adds the specified listener to receive the event "errorOccurred"
+ */
+ void addSQLErrorListener(
+ [in]XSQLErrorListener Listener );
+
+ /** removes the specified listener.
+ */
+ void removeSQLErrorListener(
+ [in]XSQLErrorListener Listener );
+};
+
+
+}; }; }; };
+
+
+#endif
+/*===========================================================================
+===========================================================================*/
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSQLErrorListener.idl b/offapi/com/sun/star/sdb/XSQLErrorListener.idl
new file mode 100644
index 000000000..542c8f23a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLErrorListener.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_sdb_XSQLErrorListener_idl__
+#define __com_sun_star_sdb_XSQLErrorListener_idl__
+
+#include
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** the listener interface for receiving "errorOccured" events
+ posted by any database object.
+ */
+published interface XSQLErrorListener: com::sun::star::lang::XEventListener
+{
+
+ /** invoked when a database error occurs, just before a
+ com::sun::star::sdbc::SQLException
+ is thrown to the application.
+ @param aEvent
+ the event which occurred
+ */
+ void errorOccured([in]com::sun::star::sdb::SQLErrorEvent aEvent);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSQLQueryComposer.idl b/offapi/com/sun/star/sdb/XSQLQueryComposer.idl
new file mode 100644
index 000000000..630e947a2
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLQueryComposer.idl
@@ -0,0 +1,148 @@
+/* -*- 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_sdb_XSQLQueryComposer_idl__
+#define __com_sun_star_sdb_XSQLQueryComposer_idl__
+
+#include
+
+#include
+
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** should be provided by a tool which simplifies the handling with SQL select statements.
+
+
+ The interface can be used for composing SELECT statements without knowing the
+ structure of the used query.
+
+ */
+published interface XSQLQueryComposer: com::sun::star::uno::XInterface
+{
+
+ /** returns the query used for composing.
+ @returns
+ the query
+ */
+ string getQuery();
+
+ /** sets a new query for the composer, which may be expanded by filters
+ and sort criteria.
+ @param command
+ the command to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setQuery([in] string command )
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** returns the query composed with filters and sort criteria.
+ @returns
+ the composed query
+ */
+ string getComposedQuery();
+
+ /** returns the currently used filter.
+
+
+ The filter criteria returned is part of the where condition of the
+ select command, but it does not contain the where token.
+
+ @returns
+ the filter
+ */
+ string getFilter();
+
+ /** returns the currently used filter.
+
+ The filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string.
+
+ @returns
+ the structured filter
+ */
+ sequence< sequence >
+ getStructuredFilter();
+
+ /** returns the currently used sort order.
+
+
+
+ The order criteria returned is part of the ORDER BY clause of the
+ select command, but it does not contain the ORDER BY keyword .
+
+ @returns
+ the order
+ */
+ string getOrder();
+
+ /** appends a new filter condition by a
+ com::sun::star::sdb::DataColumn
+ providing the name and the value for the filter.
+ @param column
+ the column which is used to create a filter
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendFilterByColumn([in] com::sun::star::beans::XPropertySet column)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** appends an additional part to the sort order criteria of the select
+ statement.
+ @param column
+ the column which is used to create an order part
+ @param ascending
+ `TRUE` when the order should be ascending, otherwise `FALSE`
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendOrderByColumn([in] com::sun::star::beans::XPropertySet column,
+ [in] boolean ascending)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** makes it possible to set a filter condition for the query.
+ @param filter
+ the filter to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setFilter([in] string filter)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** makes it possible to set a sort condition for the query.
+ @param order
+ the order part to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setOrder([in] string order)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl b/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.idl
new file mode 100644
index 000000000..67332fcb1
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSQLQueryComposerFactory.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_sdb_XSQLQueryComposerFactory_idl__
+#define __com_sun_star_sdb_XSQLQueryComposerFactory_idl__
+
+#include
+
+ module com { module sun { module star { module sdb {
+
+
+/** is a factory for instances of service com::sun::star::sdb::SQLQueryComposer.
+ */
+published interface XSQLQueryComposerFactory: com::sun::star::uno::XInterface
+{
+
+ /** creates a new query composer.
+ @returns
+ the SQLQueryComposer object
+ */
+ com::sun::star::sdb::XSQLQueryComposer createQueryComposer();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl b/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
new file mode 100644
index 000000000..df6e33d73
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
@@ -0,0 +1,227 @@
+/* -*- 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_sdb_XSingleSelectQueryAnalyzer_idl__
+#define __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
+
+#include
+#include
+#include
+
+module com { module sun { module star { module container {
+published interface XIndexAccess;
+};};};};
+
+ module com { module sun { module star { module sdb {
+
+
+/** simplifies the analyzing of single select statements.
+
+
+ The interface can be used for analyzing single SELECT statements without knowing the
+ structure of the used query.
+
+ */
+interface XSingleSelectQueryAnalyzer : com::sun::star::uno::XInterface
+{
+
+ /** returns the query.
+ @returns
+ the query
+ */
+ string getQuery();
+
+ /** sets a new query for the composer, which may be expanded by filters, group by, having
+ and sort criteria.
+ @param command
+ the single select statement to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't a single select statement
+ or the statement isn't valid
+ or the statement can not be parsed.
+ */
+ void setQuery([in] string command )
+ raises (com::sun::star::sdbc::SQLException);
+ // FILTER
+
+ /** returns the used filter.
+
+ The filter criteria returned is part of the where condition of the
+ select command, but it does not contain the where token.
+
+ @returns
+ the filter
+ */
+ string getFilter();
+
+ /** returns the currently used filter.
+
+ The filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string. The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+
+ @returns
+ the structured filter
+ */
+ sequence< sequence >
+ getStructuredFilter();
+
+ // GROUP BY
+
+ /** returns the currently used GROUP BY.
+
+ The group criteria returned is part of the GROUP BY clause of the
+ select command, but it does not contain the GROUP BY keyword .
+
+ @returns
+ the group
+ */
+ string getGroup();
+
+ /** returns the currently used group.
+
+ The columns returned from the GROUP BY clause.
+
+ @returns
+ a collection of com::sun::star::sdb::GroupColumn which form the GROUP BY.
+ */
+ com::sun::star::container::XIndexAccess getGroupColumns();
+
+ // HAVING
+
+ /** returns the used HAVING filter.
+
+ The HAVING filter criteria returned is part of the HAVING condition of the
+ select command, but it does not contain the HAVING token.
+
+ @returns
+ the filter
+ */
+ string getHavingClause();
+
+ /** returns the currently used HAVING filter.
+
+ The HAVING filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string. The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+
+ @returns
+ the structured HAVING filter
+ */
+ sequence< sequence >
+ getStructuredHavingClause();
+
+ // ORDER BY
+ /** returns the currently used sort order.
+
+ The order criteria returned is part of the ORDER BY clause of the
+ select command, but it does not contain the ORDER BY keyword .
+
+ @returns
+ the order
+ */
+ string getOrder();
+
+ /** returns the currently used sort order.
+
+ The order criteria returned is part of the ORDER BY clause of the
+ select command, but it does not contain the ORDER BY keyword .
+
+ @returns
+ a collection of com::sun::star::sdb::OrderColumn which form the ORDER BY.
+ */
+ com::sun::star::container::XIndexAccess getOrderColumns();
+
+ /** returns the query previously set at the analyzer, with all application-level
+ features being substituted by their database-level counterparts.
+
+ The XSingleSelectQueryAnalyzer is an application-level component,
+ which in some respect understands SQL features usually not present at the database
+ level. As a prominent example, you might pass a SELECT
statement to the analyzer
+ which is based on another query.
+
+ While all other methods will handle those additional features transparently - e.g.
+ the query in the FROM
part of a SELECT
statement will be handled
+ as if it really is a table -, getQueryWithSubstitution
gives you the SQL statement
+ where all those features have been stripped, and replaced with appropriate standard SQL.
+
+ For example, consider a database document which contains a client-side query named All Orders
.
+ This query is not known to the underlying database, so an SQL statement like
+ SELECT * from "All Orders"
would be rejected by the database. However, instantiating
+ a SingleSelectQueryAnalyzer at the Connection object, and passing it the above query,
+ you can then use getQueryWithSubstitution
to retrieve a statement where "All Orders"
+ has been replaced with the SELECT
statement which actually constitutes the "All Orders"
+ query.
+
+ @throws com::sun::star::sdbc::SQLException
+ if the query represented cannot be completely substituted. A usual case for this is a recursion in
+ the sub queries: Consider a query named foo
, which is defined as SELECT * FROM "bar"
.
+ Now assume that bar
is a query defined as SELECT * FROM "foo"
. Passing either
+ of those statements to an analyzer, and calling getQueryWithSubstitution(), would result
+ in an exception being thrown, since it's impossible to substitute the sub queries with their
+ constituting statements.
+
+ @see Connection
+ @see XQueriesSupplier
+ @see DatabaseDocument
+
+ @since OOo 2.0.4
+ */
+ string getQueryWithSubstitution()
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** sets a new query for the composer, which may be expanded by filters, group by, having
+ and sort criteria.
+ @param Command
+ is the command which should be executed, the type of command depends
+ on the CommandType.
+
+ In case of a \p CommandType of com::sun::star::sdb::CommandType::COMMAND,
+ means in case the \p Command specifies an SQL statement, the inherited
+ com::sun::star::sdbc::RowSet::EscapeProcessing
+ becomes relevant:
+ It then can be to used to specify whether the SQL statement should be analyzed on the
+ client side before sending it to the database server.
+ The default value for com::sun::star::sdbc::RowSet::EscapeProcessing
+ is `TRUE`. By switching it to `FALSE`, you can pass backend-specific SQL statements,
+ which are not standard SQL, to your database.
+
+ @see com::sun::star::sdb::CommandType
+ @see com::sun::star::sdbc::RowSet::EscapeProcessing
+ @param CommandType
+ is the type of the command.
+ @see com::sun::star::sdb::CommandType
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't a single select statement
+ or the statement isn't valid
+ or the statement can not be parsed.
+ */
+ void setCommand([in] string Command ,[in] long CommandType)
+ raises (com::sun::star::sdbc::SQLException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl b/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl
new file mode 100644
index 000000000..2a5369602
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSingleSelectQueryComposer.idl
@@ -0,0 +1,235 @@
+/* -*- 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_sdb_XSingleSelectQueryComposer_idl__
+#define __com_sun_star_sdb_XSingleSelectQueryComposer_idl__
+
+#include
+#include
+#include
+#include
+#include
+
+
+ module com { module sun { module star { module sdb {
+
+
+/** simplifies the composing of single select statements.
+
+
+ The interface can be used for composing single SELECT statements without knowing the
+ structure of the used query.
+
+
+ @see com::sun::star::sdb::SingleSelectQueryComposer
+ */
+interface XSingleSelectQueryComposer: XSingleSelectQueryAnalyzer
+{
+ // FILTER
+
+ /** makes it possible to set a filter condition for the query.
+ @param filter
+ the filter to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't valid
+ or the statement isn't parsable.
+ */
+ void setFilter([in] string filter)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** appends a new set of filter criteria which is split into levels.
+ @param filter
+ The filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string. The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setStructuredFilter([in] sequence< sequence > filter)
+ raises (com::sun::star::sdbc::SQLException,com::sun::star::lang::IllegalArgumentException);
+
+ /** appends a new filter condition by a
+ com::sun::star::sdb::DataColumn
+ providing the name and the value for the filter.
+ The value property must be supported by the com::sun::star::sdb::DataColumn.
+ @param column
+ the column which is used to create a filter
+ @param andCriteria
+ If `TRUE` the filter condition will be appended as an AND condition, otherwise
+ the new filter condition will be appended as OR criteria.
+ E.g. (xx AND bb AND cc) OR newCriteria
+ @param filterOperator
+ The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendFilterByColumn([in] com::sun::star::beans::XPropertySet column,[in] boolean andCriteria,[in] long filterOperator)
+ raises (com::sun::star::sdbc::SQLException, com::sun::star::lang::WrappedTargetException);
+
+ // GROUP BY
+
+
+ /** makes it possible to set a group for the query.
+ @param group
+ the group part to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't valid
+ or the statement isn't parsable.
+ */
+ void setGroup([in] string group)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+ /** appends an additional part to the group criteria of the select
+ statement. The column must be a com::sun::star::sdbcx::Column.
+ @param column
+ the column which is used to create a group part
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendGroupByColumn([in] com::sun::star::beans::XPropertySet column)
+ raises (com::sun::star::sdbc::SQLException);
+
+ // HAVING
+
+ /** makes it possible to set a HAVING filter condition for the query.
+ @param filter
+ the filter to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the statement isn't valid
+ or the statement isn't parsable.
+ */
+ void setHavingClause([in] string filter)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+ /** appends a new set of HAVING filter criteria which is split into levels.
+ @param filter
+ The HAVING filter criteria is split into levels. Each level represents the
+ OR criteria. Within each level, the filters are provided as an AND criteria
+ with the name of the column and the filter condition. The filter condition
+ is of type string. The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void setStructuredHavingClause([in] sequence< sequence > filter)
+ raises (com::sun::star::sdbc::SQLException);
+
+ /** appends a new HAVING filter condition by a
+ com::sun::star::sdb::DataColumn
+ providing the name and the value for the filter.
+ @param column
+ the column which is used to create a filter
+ @param andCriteria
+ If `TRUE` the filter condition will be appended as an AND condition, otherwise
+ the new filter condition will be appended as OR criteria.
+ E.g. (xx AND bb AND cc) OR newCriteria
+ @param filterOperator
+ The operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendHavingClauseByColumn([in] com::sun::star::beans::XPropertySet column,[in] boolean andCriteria,[in] long filterOperator)
+ raises (com::sun::star::sdbc::SQLException, com::sun::star::lang::WrappedTargetException);
+
+ // ORDER BY
+
+ /** makes it possible to set a sort condition for the query.
+ @param order
+ the order part to set
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs
+ or the order isn't valid
+ or the statement isn't parsable.
+ */
+ void setOrder([in] string order)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+ /** appends an additional part to the sort order criteria of the select
+ statement. The column must be a com::sun::star::sdbcx::Column.
+ @param column
+ the column which is used to create an order part
+ @param ascending
+ `TRUE` when the order should be ascending, otherwise if `FALSE` descending.
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void appendOrderByColumn([in] com::sun::star::beans::XPropertySet column,
+ [in] boolean ascending)
+ raises (com::sun::star::sdbc::SQLException);
+
+ // cumulative composing
+
+ /** sets a new elementary query for the composer
+
+ An elementary query or statement is a (single select) statement whose parts are
+ not covered by the various set and get methods of the composer. That is, if the
+ elementary statement contains a filter clause, a call to
+ XSingleSelectQueryAnalyzer::getFilter() will not return you this
+ filter. Instead, only filters which have been set using for instance setFilter()
+ are covered by the get methods.
+
+ The only methods which take all parts of the elementary statement into account are
+ XSingleSelectQueryAnalyzer::getQuery() and
+ XSingleSelectQueryAnalyzer::getQueryWithSubstitution(), which always returns
+ the complete composed query.
+
+ As a result, you can use the composer to build cumulative filter expressions. That
+ is, you can set #ElementaryQuery to a statement already containing
+ filters, and then use setFilter() to append additional filters.
+
+ The very same holds for sort orders, HAVING
and GROUP BY
+ clauses.
+
+ There are various use cases for this. For instance, you might want to use the
+ statement represented by a QueryDefinition, and extend it with additional
+ filters or sort orders, while not touching the respective parts already present
+ in QueryDefinition::Command. This can be achieved by setting the
+ QueryDefinition::Command as #ElementaryQuery of a
+ SingleSelectQueryComposer.
+
+ If, in such a scenario, you would be interested in the filter part of the
+ QueryDefinition::Command, you would set it via
+ XSingleSelectQueryAnalyzer::setQuery(), and retrieve the filter
+ part via XSingleSelectQueryAnalyzer::getFilter().
+
+ If you'd be interested in the composed filter, you would set the
+ QueryDefinition::Command as #ElementaryQuery, add your
+ filter, and propagate the resulting query (XSingleSelectQueryAnalyzer::getQuery())
+ to an SingleSelectQueryAnalyzer instance via
+ XSingleSelectQueryAnalyzer::setQuery().
+ */
+ [attribute] string ElementaryQuery
+ {
+ set raises (com::sun::star::sdbc::SQLException);
+ };
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XSubDocument.idl b/offapi/com/sun/star/sdb/XSubDocument.idl
new file mode 100644
index 000000000..89c072140
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XSubDocument.idl
@@ -0,0 +1,93 @@
+/* -*- 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_sdb_XSubDocument_idl__
+#define __com_sun_star_sdb_XSubDocument_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module sdb {
+
+
+/** allows operating on a sub document of an OfficeDatabaseDocument
+
+ @since OOo 3.1
+ */
+interface XSubDocument
+{
+ /** opens the sub document
+
+ Note that opening the document means it is displayed in an own top-level frame
+ on the desktop.
+
+ @return
+ the sub document, usually a com::sun::star::frame::XModel,
+ or a com::sun::star::frame::XController if the sub document
+ does not have an own model.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during opening the document
+ */
+ ::com::sun::star::lang::XComponent
+ open()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+
+ /** opens the sub document in design mode
+
+ @return
+ the sub document, usually a com::sun::star::frame::XModel,
+ or a com::sun::star::frame::XController if the sub document
+ does not have an own model.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during opening the document
+ */
+ ::com::sun::star::lang::XComponent
+ openDesign()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+
+ /** stores the sub document, if it had previously been opened in either mode
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during storing the document
+ */
+ void store()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+
+ /** closes the sub document, if it had previously been opened in either mode
+
+ @return `TRUE` if and only if the document could be closed, `FALSE` otherwise,
+ e.g. if the closing has been vetoed by the user.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs during closing the document
+ */
+ boolean close()
+ raises( ::com::sun::star::lang::WrappedTargetException );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/XTextConnectionSettings.idl b/offapi/com/sun/star/sdb/XTextConnectionSettings.idl
new file mode 100644
index 000000000..89645ec0f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/XTextConnectionSettings.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_sdb_XTextConnectionSettings_idl__
+#define __com_sun_star_sdb_XTextConnectionSettings_idl__
+
+#include
+#include
+
+module com { module sun { module star { module sdb {
+
+/**
+ @since LibreOffice 4.1
+*/
+interface XTextConnectionSettings {
+
+ interface com::sun::star::ui::dialogs::XExecutableDialog;
+
+ interface com::sun::star::beans::XPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/CopyTableContinuation.idl b/offapi/com/sun/star/sdb/application/CopyTableContinuation.idl
new file mode 100644
index 000000000..dfc3423c0
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableContinuation.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_sdb_application_CopyTableContinuation_idl__
+#define __com_sun_star_sdb_application_CopyTableContinuation_idl__
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** specifies the possible continuations when copying a table row via a
+ CopyTableWizard failed.
+ */
+constants CopyTableContinuation
+{
+ /** indicates the error should be ignored, and copying should be continued.
+ */
+ const short Proceed = 0;
+
+ /** is used to indicate the next registered XCopyTableListener should be
+ called.
+ */
+ const short CallNextHandler = 1;
+
+ /** cancels the whole copying process
+ */
+ const short Cancel = 2;
+
+ /** asks the user how the handle the error.
+
+ The user can choose between ignoring the error and canceling the copy
+ operation.
+ */
+ const short AskUser = 3;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/CopyTableOperation.idl b/offapi/com/sun/star/sdb/application/CopyTableOperation.idl
new file mode 100644
index 000000000..0a5587439
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableOperation.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_sdb_application_CopyTableOperation_idl__
+#define __com_sun_star_sdb_application_CopyTableOperation_idl__
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** specifies the different basic operations a CopyTableWizard
+ can do.
+
+ @since OOo 2.4
+*/
+constants CopyTableOperation
+{
+ /** specifies that the wizard should copy the source table to the target database,
+ by creating a new table and copying all data.
+ */
+ const short CopyDefinitionAndData = 0;
+
+ /** specifies that the wizard should copy the source table to the target database,
+ by only creating a new table with the same structure as the source table.
+ */
+ const short CopyDefinitionOnly = 1;
+
+ /** specifies the wizard should create the source table as view
+
+ This option is not available if the target database does not support views.
+ */
+ const short CreateAsView = 2;
+
+ /** specifies the wizard should append the source table's data to an existing
+ table in the target database.
+ */
+ const short AppendData = 3;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/CopyTableRowEvent.idl b/offapi/com/sun/star/sdb/application/CopyTableRowEvent.idl
new file mode 100644
index 000000000..b0935ea66
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableRowEvent.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_sdb_application_CopyTableRowEvent_idl__
+#define __com_sun_star_sdb_application_CopyTableRowEvent_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** specifies an event happening while copying table data between databases.
+
+ Whenever this event is fired to an XCopyTableListener,
+ com::sun::star::lang::EventObject::Source contains the
+ wizard instance which actually does the copying.
+
+ @see CopyTableWizard
+ */
+struct CopyTableRowEvent : ::com::sun::star::lang::EventObject
+{
+ /** contains the result set which is being copied by the wizard currently.
+ */
+ ::com::sun::star::sdbc::XResultSet SourceData;
+
+ /** denotes the error which happened while copying the data.
+
+ Usually, this contains an instance of com::sun::star::sdbc::SQLException.
+ */
+ any Error;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/CopyTableWizard.idl b/offapi/com/sun/star/sdb/application/CopyTableWizard.idl
new file mode 100644
index 000000000..eb7e4b689
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/CopyTableWizard.idl
@@ -0,0 +1,219 @@
+/* -*- 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_sdb_application_CopyTableWizard_idl__
+#define __com_sun_star_sdb_application_CopyTableWizard_idl__
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** describes a wizard which can be used to copy table like data from one
+ database to another.
+
+
+ - Interactions
+ -
+
There are various cases where the wizard needs to interact with the user (except of
+ course the obvious case to display and operate the wizard dialog itself). For those cases,
+ an interaction handler is needed, which is used for
+
+ - fulfilling parameter requests. This might become necessary if the copy source
+ describes a parametrized query.
+ - user interaction in case copying a row fails. If no copy table listener is
+ registered at the wizard, or none of the registered listener handles an error during
+ copying a row, or a registered listeners explicitly tells the wizard to ask the user
+ how to handle the error, then the interaction handler is used together with the
+ error (an
SQLException
, usually) that happened.
+ - displaying other errors which happen during copying, in particular errors in
+ creating the target table or view.
+
+
+ When you do not specify an interaction handler by using the
+ createWithInteractionHandler() constructor, the wizard will use the interaction
+ handler associated with the copy target, i.e. the interaction handler specified when loading
+ the document which the copy target refers to. If the copy target cannot be associated with
+ a database document (e.g. because it is a mere ConnectionResource
, or a connection
+ not obtained from a data source), or if the copy target's database document cannot provide
+ an interaction handler, a newly-created instance of an interaction handler is used.
+
+ There's one exception to the above, however: Upon creating the copy table wizard,
+ the copy source and the copy target descriptors are used to create a Connection. For any
+ interaction during this phase - including, for instance, necessary authentication -, the
+ interaction handler of the respective data source is used, no matter what you specified
+ in createWithInteractionHandler(). Only if there is no such interaction
+ handler, the processing described above, to find another handler, is applied.
+
+
+
+ @see ::com::sun::star::sdb::ParametersRequest
+ @see XCopyTableWizard::addCopyTableListener
+ @see CopyTableContinuation
+ @see ::com::sun::star::document::MediaDescriptor::InteractionHandler
+ @see ::com::sun::star::sdb::DatabaseDocument
+ @see ::com::sun::star::sdb::DataSource
+ @see ::com::sun::star::sdb::DataAccessDescriptor::ConnectionResource
+ @see ::com::sun::star::sdb::InteractionHandler
+
+ @since OOo 2.4
+ */
+service CopyTableWizard : XCopyTableWizard
+{
+ /** creates an executable wizard dialog, which is to guide the user through copying
+ a table from one database to another.
+
+ At creation time, an attempt will be made to obtain the connections described
+ by Source resp. Dest. Failing to do so will result in an
+ exception.
+
+ If the connection has been newly created by the wizard (e.g. because the
+ data access descriptor specified a DataSource
instead of an ActiveConnection
),
+ then this connection will be disposed upon disposal of the wizard.
+
+ @param Source
+ the com::sun::star::sdb::DataAccessDescriptor describing the
+ data to copy.
+
+ The following members of the DataAccessDescriptor
are supported, and evaluated
+ in the given order:
+
ActiveConnection
+ DataSourceName
+ DatabaseLocation
+ ConnectionResource
+ ConnectionInfo
+ Command
+ CommandType
+
+ The first 5 items are used to obtain the connection, the last two to determine which
+ of the connection's objects is to be copied. Note that Command
and CommandType
+ are required.
+
+ Additionally to the obvious restrictions (such as that creating a view is not possible
+ if the copy source and the copy destination denote different databases), the following restrictions
+ apply to the settings, and possible combinations:
+
- Only com::sun::star::sdb::CommandType::TABLE and
+ com::sun::star::sdb::CommandType::QUERY are supported.
+
+ - If you specify a
ConnectionResource
, or an
+ ActiveConnection
which implements a com::sun::star::sdbc::Connection only
+ (as opposed to a com::sun::star::sdb::Connection), then the resulting connection is
+ not able to provide queries, thus a command type QUERY
will be rejected.
+
+ Filter
, Order
, HavingClause
and GroupBy
+ are unsupported at the moment.
+
+ Violating any of the above restrictions will result in an error at creation time.
+
+ @param Destination
+ the com::sun::star::sdb::DataAccessDescriptor describing the
+ target for the copy operation.
+
+ Only DataSourceName
, DatabaseLocation
, ActiveConnection
+ are supported, effectively describing the target connection to copy the data to. They're evaluated
+ in the order mentioned here, so if multiple of the are present, only the first one is evaluated.
+
+ Also, at the moment the connection which is implied by either of the settings above
+ must support the com::sun::star::sdb::Connection service. In particular,
+ it is not sufficient to pass an SDBC-level connection.
+
+ Note that creating a view (see CopyTableOperation::CreateAsView) is
+ not supported if the target connection is an SDBC-level connection only.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if
+ - either
Source
or Destination
is `NULL`
+ - either
Source
or Destination
are not sufficient
+ to describe a database connection.
+ Source
is not sufficient to describe the to-be-copied data
+ - either
Source
or Destination
contain unsupported settings.
+
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if an error occurs during obtaining the source or destination connection. Those errors
+ are passed unchanged to the creator of the wizard.
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error other than the ones mentioned above occurs while extracting the necessary
+ information from any of the data access descriptors. For instance, this might
+ be a com::sun::star::sdbc::SQLException thrown upon connecting
+ to a data source described by the descriptor's DataSourceName
member.
+
+ @see ::com::sun::star::sdb::DataAccessDescriptor
+ */
+ create(
+ [in] ::com::sun::star::beans::XPropertySet Source,
+ [in] ::com::sun::star::beans::XPropertySet Destination
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::sdbc::SQLException
+ , ::com::sun::star::lang::WrappedTargetException
+ );
+
+ /** creates an executable wizard dialog, which is to guide the user through copying
+ a table from one database to another.
+
+ The only difference to the create() constructor is that
+ createWithInteractionHandler
takes an additional argument, which
+ can be used to intercept interactions (such as error messages) during the wizard
+ run.
+
+ @param Source
+ the com::sun::star::sdb::DataAccessDescriptor describing the
+ source for the copy operation.
+
+ @param Destination
+ the com::sun::star::sdb::DataAccessDescriptor describing the
+ target for the copy operation.
+
+ @param InteractionHandler
+ specifies an interaction handler to use when user input is required.
+
+ When specifying this parameter, you should use an implementation
+ supporting the com::sun::star::sdb::InteractionHandler, since
+ the general-purpose com::sun::star::task::InteractionHandler cannot
+ handle all requests described above.
+
+ @see ::com::sun::star::sdb::InteractionHandler
+ */
+ createWithInteractionHandler(
+ [in] ::com::sun::star::beans::XPropertySet Source,
+ [in] ::com::sun::star::beans::XPropertySet Destination,
+ [in] ::com::sun::star::task::XInteractionHandler InteractionHandler
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ , ::com::sun::star::sdbc::SQLException
+ , ::com::sun::star::lang::WrappedTargetException
+ );
+
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/DatabaseObject.idl b/offapi/com/sun/star/sdb/application/DatabaseObject.idl
new file mode 100644
index 000000000..366be5002
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DatabaseObject.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_sdb_application_DatabaseObject_idl__
+#define __com_sun_star_sdb_application_DatabaseObject_idl__
+
+#include
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** denotes different objects within a database document
+
+ @since OOo 2.2
+
+ @see DatabaseObjectContainer
+ */
+constants DatabaseObject
+{
+ /** denotes a table in a database
+
+ Note that table here is a more general term. In OpenOffice.org Base,
+ views are also represented as tables, since to the user, the behave pretty much
+ as tables do.
+ */
+ const long TABLE = com::sun::star::sdb::CommandType::TABLE;
+
+ /** denotes a query in a database document
+ */
+ const long QUERY = com::sun::star::sdb::CommandType::QUERY;
+
+ /** denotes a form in a database document
+ */
+ const long FORM = 2;
+
+ /** denotes a report in a database document
+ */
+ const long REPORT = 3;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl b/offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl
new file mode 100644
index 000000000..a4e714cdc
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DatabaseObjectContainer.idl
@@ -0,0 +1,95 @@
+/* -*- 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_sdb_application_DatabaseObjectContainer_idl__
+#define __com_sun_star_sdb_application_DatabaseObjectContainer_idl__
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** denotes different types of (maybe virtual) containers of database objects
+
+ In the database application of OpenOffice.org, database objects (such as
+ tables, queries, forms, reports) can be organized in folders. This hierarchy can
+ be imposed externally, or internally.
+
+
For example, when you connect to a database which supports catalogs and/or schemas,
+ then those impose a natural order on the tables, in that a catalog or a schema
+ is a folder of tables.
+
+ On the other hand, for forms and reports, OpenOffice.org Base itself allows the
+ user to create folders to organize the documents - in this case, the hierarchy is
+ defined in the database document itself.
+
+ @see DatabaseObject
+
+ @since OOo 3.0
+ */
+constants DatabaseObjectContainer
+{
+ /** denotes the virtual folder containing all tables of a database, in a context where such a
+ folder is displayed to the user.
+ */
+ const long TABLES = 1000;
+
+ /** denotes the virtual folder containing all queries of a database, in a context where such a
+ folder is displayed to the user.
+ */
+ const long QUERIES = 1001;
+
+ /** denotes the virtual folder containing all forms of a database document, in a context where such a
+ folder is displayed to the user.
+ */
+ const long FORMS = 1002;
+
+ /** denotes the virtual folder containing all reports of a database, in a context where such a
+ folder is displayed to the user.
+ */
+ const long REPORTS = 1003;
+
+ /** denotes the data source itself, which effectively is the root container for all other
+ kind of database objects, including other container types.
+ */
+ const long DATA_SOURCE = 1004;
+
+ /** denotes a catalog in a database which supports catalogs
+ */
+ const long CATALOG = 1005;
+
+ /** denotes a schema in a database which supports schemas
+ */
+ const long SCHEMA = 1006;
+
+ /** denotes a folder which is used to organize forms in a database document
+ */
+ const long FORMS_FOLDER = 1007;
+
+ /** denotes a folder which is used to organize reports in a database document
+ */
+ const long REPORTS_FOLDER = 1008;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/DefaultViewController.idl b/offapi/com/sun/star/sdb/application/DefaultViewController.idl
new file mode 100644
index 000000000..c41879e57
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/DefaultViewController.idl
@@ -0,0 +1,92 @@
+/* -*- 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_sdb_application_DefaultViewController_idl__
+#define __com_sun_star_sdb_application_DefaultViewController_idl__
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** is the default controller implementation for OpenOffice.org's database application.
+ */
+service DefaultViewController
+{
+ /** defines basic controller functionality
+ */
+ service ::com::sun::star::frame::Controller;
+
+ /** allows intercepting context menu requests done by the user
+
+ The ::com::sun::star::ui::ContextMenuExecuteEvent::Selection member
+ of the event passed to an interceptor will not be the controller itself
+ (though the controller also supports the XSelectionSupplier
+ interface), but a component which describes the current selection of the very window where the context
+ menu was requested.
+
+ In OpenOffice.org's database application, database objects such as tables, queries, forms,
+ reports are displayed in a tree-like fashion. Currently, only context menu requests on this tree view
+ can be intercepted using the XContextMenuInterception
interface. Context menu requests
+ in other places cannot be intercepted.
+
+ For the aforementioned tree view, the selection supplied by the ContextMenuEvent::Selection
+ component is an array of NamedDatabaseObject instances.
+ */
+ interface ::com::sun::star::ui::XContextMenuInterception;
+
+ /** allows intercepting user input done by the user
+ */
+ interface ::com::sun::star::awt::XUserInputInterception;
+
+ /**
+ provides access to the current selection inside the application window, and allows to change it
+ programmatically
+
+ The selection is an array of NamedDatabaseObject instances.
+ */
+ interface ::com::sun::star::view::XSelectionSupplier;
+
+ /** allows to retrieve and set the title which of the component
+ */
+ interface ::com::sun::star::frame::XTitle;
+
+ /** allows being notified about changes in the component's title
+ */
+ interface ::com::sun::star::frame::XTitleChangeBroadcaster;
+
+ /** allows programmatic access to aspects of the application's user interface.
+ */
+ interface XDatabaseDocumentUI;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/NamedDatabaseObject.idl b/offapi/com/sun/star/sdb/application/NamedDatabaseObject.idl
new file mode 100644
index 000000000..99f239596
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/NamedDatabaseObject.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_sdb_application_NamedDatabaseObject_idl__
+#define __com_sun_star_sdb_application_NamedDatabaseObject_idl__
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** denotes a named database object, or a named folder of database objects
+
+ @since OOo 3.0
+*/
+struct NamedDatabaseObject
+{
+ /** denotes the type of the object.
+
+ This member is one of the DatabaseObject or DatabaseObjectContainer constants.
+ */
+ long Type;
+
+ /** denotes the name of the object
+
+ In case of forms, reports, form folders and report folders, this is the hierarchical
+ path to the object, where the path elements are separated by a slash (/
).
+
+ In case of tables, this is the fully qualified name of the table, as required
+ by the database's table name composition rules.
+
+ In case of queries, this is the name of the query.
+
+ In case of virtual folders denoted by DatabaseObjectContainer::CATALOG and
+ DatabaseObjectContainer::SCHEMA, it is
+
<schema>
, if the database supports schemas only
+ <catalog>
, if the database supports catalogs only
+ <catalog>.<schema>
, if the database supports both
+ catalogs and schemas, and catalogs are to appear at the beginning of an identifier.
+ <schema>.<catalog>
, if the database supports both
+ catalogs and schemas, and catalogs are to appear at the end of an identifier.
+
+
+
+ In case of the virtual folders denoted by DatabaseObjectContainer::TABLES,
+ DatabaseObjectContainer::QUERIES, DatabaseObjectContainer::DATA_SOURCE,
+ DatabaseObjectContainer::FORMS or DatabaseObjectContainer::REPORTS,
+ this denotes the name of the data source (as denoted by
+ com::sun::star::sdb::DataSource::Name)
+
+ @see XDatabaseMetaData::isCatalogAtStart
+ @see DatabaseObjectContainer
+ */
+ string Name;
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/XCopyTableListener.idl b/offapi/com/sun/star/sdb/application/XCopyTableListener.idl
new file mode 100644
index 000000000..72613157e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XCopyTableListener.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_sdb_application_XCopyTableListener_idl__
+#define __com_sun_star_sdb_application_XCopyTableListener_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** specifies the interface required to listen for progress in copying
+ table rows via a CopyTableWizard
.
+
+ @see CopyTableRowEvent
+ @see CopyTableWizard
+ */
+interface XCopyTableListener : ::com::sun::star::lang::XEventListener
+{
+ /** is called when a row is about to be copied.
+
+ This method is called immediately before a row is copied. It might be used, for instance,
+ to update a progress indicator.
+
+ @param Event
+ describes the current state of the copy operation.
+ CopyTableRowEvent::SourceData is positioned at the row
+ which is about to be copied.
+ */
+ void copyingRow( [in] CopyTableRowEvent Event );
+
+ /** is called when a row was successfully copied.
+
+ This method is called right after a row has been successfully copied. It might be used,
+ for instance, to update a progress indicator.
+
+ @param Event
+ describes the current state of the copy operation.
+ CopyTableRowEvent::SourceData is positioned at the row
+ which was just copied to the target database.
+ */
+ void copiedRow( [in] CopyTableRowEvent Event );
+
+ /** is called when copying a row failed.
+
+ @param Event
+ describes the current state of the copy operation.
+ CopyTableRowEvent::SourceData is positioned at the row
+ which was attempted to be copied to the target database.
+ CopyTableRowEvent::Error will contain the actual error which
+ happened.
+
+ @return
+ how to continue with copying. Must be one of the CopyTableContinuation
+ constants.
+ */
+ short copyRowError( [in] CopyTableRowEvent Event );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl b/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl
new file mode 100644
index 000000000..18b312f4f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XCopyTableWizard.idl
@@ -0,0 +1,138 @@
+/* -*- 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_sdb_application_XCopyTableWizard_idl__
+#define __com_sun_star_sdb_application_XCopyTableWizard_idl__
+
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb { module application {
+
+interface XCopyTableListener;
+
+
+/** describes a wizard which can be used to copy table like data from one
+ database to another.
+
+ Copying table data between databases can be a complex task. Especially when
+ it comes to matching field types in the source and in the target database,
+ some heuristics, and sometimes support from the user doing the operation,
+ are required.
+
+ The copy table wizard
described by this interfaces cares for those,
+ and other, settings.
+
+ @since OOo 2.4
+ */
+interface XCopyTableWizard : ::com::sun::star::ui::dialogs::XExecutableDialog
+{
+ /** specifies the basic operation for the wizard to execute.
+
+ This must be one of the CopyTableOperation constants.
+
+ At initialization time, you can use this attribute to control the
+ initial operation in the wizard.
+
+ After the wizard has finished, you can use this attribute to determine
+ what operation was actually executed.
+
+ Changing this attribute while the dialog is running is not supported, the
+ result of such an attempt is undefined.
+
+ @throws IllegalArgumentException
+ if you attempt to set an invalid operation, or if the given operation is
+ not supported by the target database type, e.g. if you specified
+ CopyTableOperation::CreateAsView where the database
+ does not support views.
+ */
+ [attribute] short Operation
+ {
+ set raises ( ::com::sun::star::lang::IllegalArgumentException );
+ };
+
+ /** specifies the name of the table in the destination database.
+
+ At initialization time, you can use this attribute to control the
+ initial table name as suggested to the user.
+
+ After the wizard has finished, you can use this attribute to determine
+ what table was actually created resp. to which existing table the source
+ table's data was appended.
+
+ Changing this attribute while the dialog is running is not supported, the
+ result of such an attempt is undefined.
+ */
+ [attribute] string DestinationTableName;
+
+ /** specifies that a new primary key is to be created in the target database
+
+ At initialization time, you can specify the initial settings for the primary
+ key in the UI.
+
+ You cannot use this attribute to determine the primary key, possibly created
+ by the wizard, after it finished. The reason is that during the wizard run, the
+ user can define an arbitrarily complex primary key, e.g. including multiple columns,
+ which cannot be represented in this simple attribute anymore.
+
+ This attribute is ignored if #Operation is
+ CopyTableOperation::AppendData.
+
+ Changing this attribute while the dialog is running is not supported, the
+ result of such an attempt is undefined.
+
+ When a primary key is to be created by the wizard, it will be an auto-increment
+ column, if possible.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the target database does not support primary keys
+ */
+ [attribute] ::com::sun::star::beans::Optional< string >
+ CreatePrimaryKey
+ {
+ set raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::sdbc::SQLException );
+ };
+
+ /** specifies that the first row should be used to identify column names.
+
+ This attribute is ignored when the source defines the column names which isn't the case when only a part of a table should be copied
+ e.g. in the RTF format or in the HTML format.
+
+ */
+ [attribute] boolean UseHeaderLineAsColumnNames;
+
+ /** adds a listener which is to be notified of progress in the copy operation
+ */
+ void addCopyTableListener( [in] XCopyTableListener Listener );
+
+ /** removes a listener
+ */
+ void removeCopyTableListener( [in] XCopyTableListener Listener );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
new file mode 100644
index 000000000..a8f54d4f7
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XDatabaseDocumentUI.idl
@@ -0,0 +1,322 @@
+/* -*- 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_sdb_application_XDatabaseDocumentUI_idl__
+#define __com_sun_star_sdb_application_XDatabaseDocumentUI_idl__
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb { module application {
+
+
+/** provides access to the user interface of a database document
+
+ This interface is available when a database document has been loaded into
+ a frame, at the controller of this frame.
+
+ @see com::sun::star::frame::Controller
+ @see com::sun::star::sdb::DatabaseDocument
+
+ @since OOo 2.2
+ */
+interface XDatabaseDocumentUI
+{
+ /** provides access to the data source belong to the database document
+ */
+ [attribute, readonly] com::sun::star::sdbc::XDataSource DataSource;
+
+ /** provides access to the application's main window
+
+ Note that reading this attribute is equivalent to querying the component
+ for the com::sun::star::frame::XController interface,
+ asking the controller for its frame, and asking this frame for its
+ container window.
+
+ @see ::com::sun::star::frame::XController
+ @see ::com::sun::star::frame::XFrame
+ */
+ [attribute, readonly] com::sun::star::awt::XWindow ApplicationMainWindow;
+
+ /** provides access to the current connection of the application
+
+ Note that the connection returned here is really the working connection
+ of the application. Clients should not misuse it, in particular, closing
+ the connection can yield unexpected results and should definitely be
+ avoided. If you need a separate connection to the data source, use
+ com::sun::star::sdbc::XDataSource::getConnection().
+ */
+ [attribute, readonly] com::sun::star::sdbc::XConnection ActiveConnection;
+
+ /** determines whether the application is currently connected to the database
+ */
+ boolean isConnected();
+
+ /** lets the application connect to the database
+
+ If the application is already connected, nothing happens. If it is not
+ connected, the application will try to establish a connection by using
+ com::sun::star::sdbc::XDataSource::getConnection()
+ with the current settings, as specified in the
+ com::sun::star::sdb::DataSource::Settings member.
+
+ If the connection cannot be established, the respective error message is shown
+ in the application window.
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if the connection cannot be established
+ */
+ void connect()
+ raises ( ::com::sun::star::sdbc::SQLException );
+
+ /** contains all sub components of the database document
+
+ During working with the database, the user might open different sub components:
+ forms, reports, tables, queries. Those components are tracked by the application,
+ and provided in this attribute.
+
+ The components here might either be documents (com::sun::star::frame::XModel),
+ controllers (com::sun::star::frame::XController), or frames
+ (com::sun::star::frame::XFrame).
+
+ @since OOo 3.0
+ */
+ [attribute, readonly] sequence< ::com::sun::star::lang::XComponent >
+ SubComponents;
+
+ /** identifies the given sub component
+
+ @param SubComponent
+ the component to identify. Must be one of the components in #SubComponents.
+
+ @return
+ a record describing the sub component. The first element of the returned pair is the type
+ of the component, denoted by one of the DatabaseObject constants. The second
+ element is the name of the component. For object types which support nested structures (forms
+ and reports, actually), this might be a hierarchical name. If the sub component has been newly created,
+ and not yet saved, this name is empty.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given component is not one of the controller's sub components
+ */
+ ::com::sun::star::beans::Pair< long, string >
+ identifySubComponent(
+ [in] ::com::sun::star::lang::XComponent SubComponent
+ )
+ raises (
+ ::com::sun::star::lang::IllegalArgumentException
+ );
+
+ /** closes all sub components of the database document.
+
+
During working with the database, the user might open different sub components:
+ forms, reports, tables, queries. If you need to close all those documents, use
+ closeSubComponents
, which will gracefully do this.
+
+ In a first step, the sub components will be suspended
+ (com::sun::star::frame::XController::suspend()). There
+ are basically two reasons why suspending a single sub component can fail: The
+ user might veto it (she's asked if the document is currently modified), and
+ the component might be uncloseable currently, e.g. due to an open modal
+ dialog, or a long-lasting operation running currently (e.g. printing).
+
+ Once all sub components have been suspended, they will, in a second step,
+ be closed. Again, closing might be vetoed by other instances, e.g. by a close
+ listener registered at the component.
+
+ @return
+ `TRUE` if and only if both suspending and closing all sub components succeeds.
+
+ @since OOo 3.0
+ */
+ boolean closeSubComponents();
+
+ /** loads the given sub component of the database document
+
+ This method allows programmatic access to the functionality which is present in the UI:
+ it allows opening a table, query, form, or report for either editing or viewing.
+
+ This method is a convenience wrapper for API which is also available otherwise. For instance,
+ for loading forms and reports, you could use the com::sun::star::frame::XComponentLoader
+ interface of the ::com::sun::star::sdb::Forms resp. ::com::sun::star::sdb::Reports
+ collections.
+
+ Note there must exist a connection to the database before you can call this method.
+
+ If an error occurs opening the given object, then this is reported to the user via an error dialog.
+
+ @see isConnected
+ @see connect
+
+ @param ObjectType
+ specifies the type of the object, must be one of the DatabaseObject
+ constants.
+
+ @param ObjectName
+ specifies the name of the object. In case hierarchical objects are supported
+ (as is the case form forms and reports), hierarchical names are supported here, too.
+
+ @param ForEditing
+ specifies whether the object should be opened for editing (`TRUE`) or viewing (`FALSE`).
+
+ For the different object types, this means the following
+
+
+
+ |
+ ForEditing = `TRUE` |
+ ForEditing = `FALSE` |
+
+
+
+ Tables |
+ A table designer is opened, and allows to edit the structure of the table.
+ See also ::com::sun::star::sdb::TableDesign |
+ A table data view is opened, and allows to view and edit the data contained in the table.
+ See also ::com::sun::star::sdb::DataSourceBrowser |
+
+
+
+ Queries |
+ A query designer is opened, and allows to edit the statement constituting the query.
+ See also ::com::sun::star::sdb::QueryDesign |
+ A table data view is opened, and allows to view and edit the data contained in the query.
+ See also ::com::sun::star::sdb::DataSourceBrowser |
+
+
+
+ Forms |
+ The form document is opened in design mode, that is, you can modify it. |
+ The form document is opened in read-only mode, allowing you to view and enter the data
+ which the form is based on, but not the form design. |
+
+
+
+ Reports |
+ The report document is opened in design mode, that is, you can modify it. |
+ The report is executed, and the results will be displayed. |
+
+
+
+
+
+ @return
+ the component which has been loaded. This is either a com::sun::star::frame::XModel,
+ or a com::sun::star::frame::XController if the component does is model-less.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if ObjectType denotes an invalid object type
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if an object with the given name and of the given type does not exist
+
+ @throws ::com::sun::star::sdbc::SQLException
+ if there is no connection to the database at the time the method is called.
+ */
+ ::com::sun::star::lang::XComponent loadComponent(
+ [in] long ObjectType,
+ [in] string ObjectName,
+ [in] boolean ForEditing )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::sdbc::SQLException );
+
+ /** loads the given sub component of the database document
+
+ In opposite to loadComponent(), this method allows you to specify
+ additional arguments which are passed to the to-be-loaded component.
+
+ The meaning of the arguments is defined at the service which is effectively
+ created. See the above table for a list of those
+ services.
+ */
+ ::com::sun::star::lang::XComponent loadComponentWithArguments(
+ [in] long ObjectType,
+ [in] string ObjectName,
+ [in] boolean ForEditing,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > Arguments )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::sdbc::SQLException );
+
+ /** creates a new sub component of the given type
+
+ @param ObjectType
+ specifies the type of the object, must be one of the DatabaseObject
+ constants.
+
+ @param DocumentDefinition
+ Upon successful return, and if and only if ObjectType equals DatabaseObject::FORM
+ or DatabaseObject::REPORT, this will contain the com::sun::star::sdb::DocumentDefinition
+ object which controls the sub component.
+ */
+ ::com::sun::star::lang::XComponent createComponent(
+ [in] long ObjectType,
+ [out] ::com::sun::star::lang::XComponent DocumentDefinition )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::sdbc::SQLException );
+
+ /** creates a new sub component of the given type
+
+ In opposite to createComponent(), this method allows you to specify
+ additional arguments which are passed to the to-be-loaded component.
+
+
+ @param ObjectType
+ specifies the type of the object, must be one of the DatabaseObject
+ constants.
+
+ @param Arguments
+ The meaning of the arguments is defined at the service which is
+ effectively created. See the above
+ table for a list of those services.
+
+ @param DocumentDefinition
+ Upon successful return, and if and only if ObjectType equals DatabaseObject::FORM
+ or DatabaseObject::REPORT, this will contain the com::sun::star::sdb::DocumentDefinition
+ object which controls the sub component.
+ You can use this object to control various aspects of the sub component. For instance, you could decide
+ to create the component hidden, by passing a Hidden
flag (set to `TRUE`) in Arguments,
+ manipulate the component, and then finally show it by invoking the show
command at the
+ definition object.
+ */
+ ::com::sun::star::lang::XComponent createComponentWithArguments(
+ [in] long ObjectType,
+ [in] sequence< ::com::sun::star::beans::PropertyValue > Arguments,
+ [out] ::com::sun::star::lang::XComponent DocumentDefinition )
+ raises ( ::com::sun::star::lang::IllegalArgumentException,
+ ::com::sun::star::container::NoSuchElementException,
+ ::com::sun::star::sdbc::SQLException );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/application/XTableUIProvider.idl b/offapi/com/sun/star/sdb/application/XTableUIProvider.idl
new file mode 100644
index 000000000..e9bb5b53e
--- /dev/null
+++ b/offapi/com/sun/star/sdb/application/XTableUIProvider.idl
@@ -0,0 +1,112 @@
+/* -*- 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_sdb_application_XTableUIProvider_idl__
+#define __com_sun_star_sdb_application_XTableUIProvider_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module sdb { module application {
+
+interface XDatabaseDocumentUI;
+
+
+/** is used by the database application to obtain non-default user
+ interface information and/or components for database tables.
+
+ @see com::sun::star::sdb::Connection
+
+ @since OOo 2.2
+ */
+interface XTableUIProvider
+{
+ /** provides the icon which should be used to represent the table in the
+ database application window.
+
+ The icon will usually be requested once per table, and cached. It
+ might be requested again if the application settings change, for instance,
+ if another desktop theme has been activated.
+
+ @param TableName
+ denotes the fully qualified name of the database table.
+
+ @param ColorMode
+ denotes the color mode of the graphic to retrieve, being one of the
+ com::sun::star::graphic::GraphicColorMode constants.
+ @return
+ the icon which should be used to represent the table in the
+ database application window, or `NULL` if the default icon
+ should be used.
+ */
+ com::sun::star::graphic::XGraphic getTableIcon(
+ [in] string TableName, [in] long ColorMode );
+
+ /** returns a component which can be used to edit the definition of an
+ existing table.
+
+ @param DocumentUI
+ provides access to the UI in which the database document is
+ currently displayed.
+ In particular, this parameter provides access to the application's main
+ window, which is needed in case the table editor should be a dialog.
+
+ @param TableName
+ denotes the fully qualified name of an existing table.
+
+ @return
+ a component which can be used to edit the definition of an
+ existing table, or `NULL` if the default component should
+ be used.
+ Two component types are supported so far
+ - modal dialogs
+ If the returned component supports the
+ com::sun::star::ui::dialogs::XExecutableDialog
+ interface, the dialog will be executed modally.
+ - modeless frames
+ If the returned component supports the
+ com::sun::star::frame::XController
+ interface, it is assumed that it represents a controller,
+ loaded into a new frame, which is a modeless and, in its lifetime,
+ depends on the application main window.
+
+ If the returned component does not support any of the above-mentioned
+ interfaces, it's discarded.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the given TableName does not denote an existing table
+
+ @throws ::com::sun::star::lang::WrappedTargetException
+ if an error occurs while creating the table editor component.
+ */
+ com::sun::star::uno::XInterface getTableEditor(
+ [in] XDatabaseDocumentUI DocumentUI,
+ [in] string TableName )
+ raises (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException);
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/CompositionType.idl b/offapi/com/sun/star/sdb/tools/CompositionType.idl
new file mode 100644
index 000000000..868bfd064
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/CompositionType.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_sdb_tools_CompositionType_idl__
+#define __com_sun_star_sdb_tools_CompositionType_idl__
+
+module com { module sun { module star { module sdb { module tools {
+
+/** specifies which composition should be used when composing a table
+ name.
+
+ @see XTableName
+
+ @since OOo 2.0.4
+*/
+constants CompositionType
+{
+ /** specifies composition of a name to be used in table definitions
+
+ @see XDatabaseMetaData::supportsCatalogsInTableDefinitions
+ @see XDatabaseMetaData::supportsSchemasInTableDefinitions
+ */
+ const long ForTableDefinitions = 0;
+
+ /** specifies composition of a name to be used in index definitions
+
+ @see XDatabaseMetaData::supportsCatalogsInIndexDefinitions
+ @see XDatabaseMetaData::supportsSchemasInIndexDefinitions
+ */
+ const long ForIndexDefinitions = 1;
+
+ /** specifies composition of a name to be used in data manipulation
+
+ @see XDatabaseMetaData::supportsCatalogsInDataManipulation
+ @see XDatabaseMetaData::supportsSchemasInDataManipulation
+ */
+ const long ForDataManipulation = 2;
+
+ /** specifies composition of a name to be used in procedure calls
+
+ @see XDatabaseMetaData::supportsCatalogsInProcedureCalls
+ @see XDatabaseMetaData::supportsSchemasInProcedureCalls
+ */
+ const long ForProcedureCalls = 3;
+
+ /** specifies composition of a name to be used in privilege definitions
+
+ @see XDatabaseMetaData::supportsCatalogsInPrivilegeDefinitions
+ @see XDatabaseMetaData::supportsSchemasInPrivilegeDefinitions
+ */
+ const long ForPrivilegeDefinitions = 4;
+
+ /** specifies complete composition of a table name, including catalog and schema (if present),
+ disregarding any database support for catalog and schema in any particular statements
+ */
+ const long Complete = 5;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/ConnectionTools.idl b/offapi/com/sun/star/sdb/tools/ConnectionTools.idl
new file mode 100644
index 000000000..3fc03a133
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/ConnectionTools.idl
@@ -0,0 +1,43 @@
+/* -*- 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_sdb_tools_ConnectionTools_idl__
+#define __com_sun_star_sdb_tools_ConnectionTools_idl__
+
+#include
+
+module com { module sun { module star { module sdbc {
+ published interface XConnection;
+};};};};
+
+module com { module sun { module star { module sdb { module tools {
+
+/**
+ @since LibreOffice 4.1
+*/
+service ConnectionTools : XConnectionTools
+{
+ createWithConnection([in] com::sun::star::sdbc::XConnection Connection);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XConnectionSupplier.idl b/offapi/com/sun/star/sdb/tools/XConnectionSupplier.idl
new file mode 100644
index 000000000..8e54488d9
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XConnectionSupplier.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_sdb_tools_XConnectionSupplier_idl__
+#define __com_sun_star_sdb_tools_XConnectionSupplier_idl__
+
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to access the active connection
+
+ @see com::sun::star::sdbcx::XConnection
+
+ @since OOo 3.3
+*/
+interface XConnectionSupplier
+{
+ /** returns the source connection.
+ */
+ [attribute, readonly] com::sun::star::sdbc::XConnection ActiveConnection;
+
+ interface com::sun::star::lang::XInitialization;
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XConnectionTools.idl b/offapi/com/sun/star/sdb/tools/XConnectionTools.idl
new file mode 100644
index 000000000..feb085e6a
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XConnectionTools.idl
@@ -0,0 +1,129 @@
+/* -*- 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_sdb_tools_XConnectionTools_idl__
+#define __com_sun_star_sdb_tools_XConnectionTools_idl__
+
+#include
+#include
+
+module com { module sun { module star {
+ module container {
+ interface XNameAccess;
+ };
+ module lang {
+ interface XComponent;
+ };
+};};};
+module com { module sun { module star { module sdb {
+ interface XSingleSelectQueryComposer;
+ module tools {
+
+interface XTableName;
+interface XObjectNames;
+interface XDataSourceMetaData;
+
+/** encapsulates various useful functionality around a
+ com::sun::star::sdb::Connection
+
+ Most of the functionality provided here is meaningful only relative to
+ a given database connection. For instance, for quoting table names, you need
+ the meta data instance of the connection. Thus, the entry point for obtaining
+ a XConnectionTools instance is the
+ com::sun::star::sdb::Connection service.
+
+ Note that nearly all functionality provided by this interface is also
+ available by other means, it's only provided here for convenience purposes.
+
+ @since OOo 2.0.4
+*/
+interface XConnectionTools
+{
+ /** creates an instance supporting the XTableName interface,
+ which can be used to manipulate table names for various purposes.
+
+ The returned object is guaranteed to not be `NULL`.
+ */
+ XTableName createTableName();
+
+ /** returns an instance supporting the XObjectNames interface,
+ which provides access to functionality around table and query names.
+
+ The returned object is guaranteed to not be `NULL`.
+ */
+ XObjectNames getObjectNames();
+
+ /** provides access to the application-level data source meta data
+ */
+ XDataSourceMetaData
+ getDataSourceMetaData();
+
+ /** get fields for a result set given by a "command descriptor"
+
+ A command descriptor here means:
+
- a SDB-level connection (com.sun.star.sdb::Connection
+ - a string specifying the name of an object relative to the connection
+ - a com.sun.star.sdb::CommandType value specifying the type
+ of the object
+
+
+
+ @param commandType
+ the type of the object
+
+ @param command
+ the object. This may be a table name, a query name, or an SQL statement, depending on the value
+ of _nCommandType
+
+ @param keepFieldsAlive
+ If (and only if) CommandType is CommandType.COMMAND, the fields collection which is returned
+ by this function here is a temporary object. It is kept alive by another object, which is to be
+ created temporarily, too. To ensure that the fields you get are valid as long as you need them,
+ the owner which controls their life time is transferred to this parameter upon return.
+ Your fields live as long as this component lives.
+ Additionally, you are encouraged to dispose this component as soon as you don't need the fields anymore.
+ It depends on the connection's implementation if this is necessary, but the is no guarantee, so to
+ be on the safe side with respect to resource leaks, you should dispose the component.
+
+ @return
+ the container of the columns (aka fields) of the object
+ */
+ ::com::sun::star::container::XNameAccess getFieldsByCommandDescriptor( [in] long commandType,
+ [in] string command,
+ [out] ::com::sun::star::lang::XComponent keepFieldsAlive
+ ) raises( com::sun::star::sdbc::SQLException );
+
+ /** get the composer initialized with a command and command type.
+ @param commandType
+ the type of the object
+
+ @param command
+ the object. This may be a table name, a query name, or an SQL statement, depending on the value
+ of _nCommandType
+ @return
+ the composer filled with command and command type.
+ */
+ ::com::sun::star::sdb::XSingleSelectQueryComposer getComposer([in] long commandType,[in] string command);
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl b/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl
new file mode 100644
index 000000000..eb7f48159
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl
@@ -0,0 +1,41 @@
+/* -*- 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_sdb_tools_XDataSourceMetaData_idl__
+#define __com_sun_star_sdb_tools_XDataSourceMetaData_idl__
+
+#include
+#include
+
+module com { module sun { module star { module sdb { module tools {
+
+interface XDataSourceMetaData
+{
+ /** determines whether the data source supports queries in the FROM
+ part of a SELECT
statement.
+ */
+ boolean supportsQueriesInFrom() raises ( com::sun::star::sdbc::SQLException );
+};
+
+}; }; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XIndexAlteration.idl b/offapi/com/sun/star/sdb/tools/XIndexAlteration.idl
new file mode 100644
index 000000000..7cd7b240f
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XIndexAlteration.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_sdb_tools_XIndexAlteration_idl__
+#define __com_sun_star_sdb_tools_XIndexAlteration_idl__
+
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to alter the indexes of a table.
+
+ @see com::sun::star::sdb::DataSource::Settings
+ @see com::sun::star::sdbcx::XAppend
+ @see com::sun::star::sdbcx::XDrop
+
+ @since OOo 3.3
+*/
+interface XIndexAlteration
+{
+ interface XConnectionSupplier;
+
+ /** drops an object of the related container identified by its name.
+ @param table
+ the table to be altered
+ @param index
+ the name of the column to be dropped
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void dropIndex([in] com::sun::star::beans::XPropertySet table,[in] string index)
+ raises ( com::sun::star::sdbc::SQLException);
+
+ /** creates a new object using the given descriptor and appends it
+ to the related container.
+
+ Note:
+
+ The descriptor will not be changed and can be used again to append another object.
+ @param table
+ the table to be altered
+ @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 addIndex([in] com::sun::star::beans::XPropertySet table,[in]com::sun::star::beans::XPropertySet descriptor)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XKeyAlteration.idl b/offapi/com/sun/star/sdb/tools/XKeyAlteration.idl
new file mode 100644
index 000000000..961ec8c94
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XKeyAlteration.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_sdb_tools_XKeyAlteration_idl__
+#define __com_sun_star_sdb_tools_XKeyAlteration_idl__
+
+#include
+#include
+#include
+#include
+
+module com { module sun { module star { module sdb { module tools {
+
+/** allows to alter the keys of a table.
+
+ @see com::sun::star::sdb::DataSource::Settings
+ @see com::sun::star::sdbcx::XAppend
+ @see com::sun::star::sdbcx::XDrop
+
+ @since OOo 3.3
+*/
+interface XKeyAlteration
+{
+ interface XConnectionSupplier;
+
+ /** drops an object of the related container identified by its name.
+ @param table
+ the table to be altered
+ @param key
+ the key to be dropped
+ @throws com::sun::star::sdbc::SQLException
+ if a database access error occurs.
+ */
+ void dropKey([in] com::sun::star::beans::XPropertySet table,[in] com::sun::star::beans::XPropertySet key)
+ raises ( com::sun::star::sdbc::SQLException);
+
+ /** creates a new object using the given descriptor and appends it
+ to the related container.
+
+ Note:
+
+ The descriptor will not be changed and can be used again to append another object.
+ @param table
+ the table to be altered
+ @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 addKey([in] com::sun::star::beans::XPropertySet table,[in]com::sun::star::beans::XPropertySet descriptor)
+ raises (com::sun::star::sdbc::SQLException);
+
+
+};
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sdb/tools/XObjectNames.idl b/offapi/com/sun/star/sdb/tools/XObjectNames.idl
new file mode 100644
index 000000000..a82bd59a8
--- /dev/null
+++ b/offapi/com/sun/star/sdb/tools/XObjectNames.idl
@@ -0,0 +1,164 @@
+/* -*- 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_sdb_tools_XObjectNames_idl__
+#define __com_sun_star_sdb_tools_XObjectNames_idl__
+
+#include
+#include