5687eba49f
...which were used by ildc, which is gone since
a8485d558f
"[API CHANGE] Remove deprecated idlc
and regmerge from the SDK", and have always been ignored as legacy by its
unoidl-write replacement.
This change has been carried out (making use of GNU sed extensions) with
> for i in $(git ls-files \*.idl); do sed -i -z -E -e 's/\n\n((#[^\n]*\n)+\n)*(#[^\n]*\n)+\n?/\n\n/g' -e 's/\n(#[^\n]*\n)+/\n/g' "$i"; done && git checkout extensions/source/activex/so_activex.idl odk/examples/OLE/activex/so_activex.idl
which apparently happened to do the work. (The final two files are not UNOIDL
source files.)
Change-Id: Ic9369e05d46e8f7e8a304ab01740b171b92335cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135683
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
207 lines
10 KiB
Text
207 lines
10 KiB
Text
/* -*- 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 .
|
|
*/
|
|
|
|
|
|
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.
|
|
|
|
<dl>
|
|
<dt><b><a name="interaction"></a>Interactions</b></dt>
|
|
<dd>
|
|
<p>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
|
|
<ul>
|
|
<li>fulfilling parameter requests. This might become necessary if the copy source
|
|
describes a parametrized query.</li>
|
|
<li>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 <code>SQLException</code>, usually) that happened.</li>
|
|
<li>displaying other errors which happen during copying, in particular errors in
|
|
creating the target table or view.</li>
|
|
</ul></p>
|
|
|
|
<p>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 <code>ConnectionResource</code>, 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.</p>
|
|
|
|
<p>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.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
@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.
|
|
|
|
<p>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.</p>
|
|
|
|
<p>If the connection has been newly created by the wizard (e.g. because the
|
|
data access descriptor specified a <code>DataSource</code> instead of an <code>ActiveConnection</code>),
|
|
then this connection will be disposed upon disposal of the wizard.</p>
|
|
|
|
@param Source
|
|
the com::sun::star::sdb::DataAccessDescriptor describing the
|
|
data to copy.
|
|
|
|
<p>The following members of the <code>DataAccessDescriptor</code> are supported, and evaluated
|
|
in the given order:
|
|
<ol><li><code>ActiveConnection</code></li>
|
|
<li><code>DataSourceName</code></li>
|
|
<li><code>DatabaseLocation</code></li>
|
|
<li><code>ConnectionResource</code></li>
|
|
<li><code>ConnectionInfo</code></li>
|
|
<li><code>Command</code></li>
|
|
<li><code>CommandType</code></li>
|
|
</ol>
|
|
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 <code>Command</code> and <code>CommandType</code>
|
|
are required.</p>
|
|
|
|
<p>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:
|
|
<ul><li>Only com::sun::star::sdb::CommandType::TABLE and
|
|
com::sun::star::sdb::CommandType::QUERY are supported.</li>
|
|
|
|
<li>If you specify a <code>ConnectionResource</code>, or an
|
|
<code>ActiveConnection</code> 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 <code>QUERY</code> will be rejected.</li>
|
|
|
|
<li><code>Filter</code>, <code>Order</code>, <code>HavingClause</code> and <code>GroupBy</code>
|
|
are unsupported at the moment.</li>
|
|
</ul>
|
|
Violating any of the above restrictions will result in an error at creation time.</p>
|
|
|
|
@param Destination
|
|
the com::sun::star::sdb::DataAccessDescriptor describing the
|
|
target for the copy operation.
|
|
|
|
<p>Only <code>DataSourceName</code>, <code>DatabaseLocation</code>, <code>ActiveConnection</code>
|
|
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.</p>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>Note that creating a view (see CopyTableOperation::CreateAsView) is
|
|
not supported if the target connection is an SDBC-level connection only.</p>
|
|
|
|
@throws ::com::sun::star::lang::IllegalArgumentException
|
|
if
|
|
<ul><li>either <code>Source</code> or <code>Destination</code> is `NULL`</li>
|
|
<li>either <code>Source</code> or <code>Destination</code> are not sufficient
|
|
to describe a database connection.</li>
|
|
<li><code>Source</code> is not sufficient to describe the to-be-copied data</li>
|
|
<li>either <code>Source</code> or <code>Destination</code> contain unsupported settings.</li>
|
|
</ul>
|
|
|
|
@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 <code>DataSourceName</code> 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.
|
|
|
|
<p>The only difference to the create() constructor is that
|
|
<code>createWithInteractionHandler</code> takes an additional argument, which
|
|
can be used to intercept interactions (such as error messages) during the wizard
|
|
run.</p>
|
|
|
|
@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.
|
|
|
|
<p>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 <a href="#interaction">above</a>.</p>
|
|
|
|
@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
|
|
);
|
|
|
|
};
|
|
|
|
|
|
}; }; }; }; };
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|