1/*************************************************************************
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3 *
4 * Copyright 2000, 2010 Oracle and/or its affiliates.
5 *
6 * OpenOffice.org - a multi-platform office productivity suite
7 *
8 * This file is part of OpenOffice.org.
9 *
10 * OpenOffice.org is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU Lesser General Public License version 3
12 * only, as published by the Free Software Foundation.
13 *
14 * OpenOffice.org is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU Lesser General Public License version 3 for more details
18 * (a copy is included in the LICENSE file that accompanied this code).
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * version 3 along with OpenOffice.org.  If not, see
22 * <http://www.openoffice.org/license.html>
23 * for a copy of the LGPLv3 License.
24 *
25************************************************************************/
26
27#ifndef __com_sun_star_sdb_application_NamedDatabaseObject_idl__
28#define __com_sun_star_sdb_application_NamedDatabaseObject_idl__
29
30//=============================================================================
31
32module com { module sun { module star { module sdb { module application {
33
34//=============================================================================
35
36/** denotes a named database object, or a named folder of database objects
37
38    @since OOo 3.0
39*/
40struct NamedDatabaseObject
41{
42    /** denotes the type of the object.
43
44        <p>This member is one of the <type>DatabaseObject</type> or <type>DatabaseObjectContainer</type> constants.</p>
45    */
46    long    Type;
47
48    /** denotes the name of the object
49
50        <p>In case of forms, reports, form folders and report folders, this is the hierarchical
51        path to the object, where the path elements are separated by a slash (<code>/</code>).</p>
52
53        <p>In case of tables, this is the fully qualified name of the table, as required
54        by the database's table name composition rules.</p>
55
56        <p>In case of queries, this is the name of the query.</p>
57
58        <p>In case of virtual folders denoted by <member>DatabaseObjectContainer::CATALOG</member> and
59        <member>DatabaseObjectContainer::SCHEMA</member>, it is
60        <ul><li><code>&lt;schema&gt;</code>, if the database supports schemas only</li>
61            <li><code>&lt;catalog&gt;</code>, if the database supports catalogs only</li>
62            <li><code>&lt;catalog&gt;.&lt;schema&gt;</code>, if the database supports both
63            catalogs and schemas, and catalogs are to appear at the beginning of an identifier.</li>
64            <li><code>&lt;schema&gt;.&lt;catalog&gt;</code>, if the database supports both
65            catalogs and schemas, and catalogs are to appear at the end of an identifier.</li>
66        </ul>
67        </p>
68
69        <p>In case of the virtual folders denoted by <member>DatabaseObjectContainer::TABLES</member>,
70        <member>DatabaseObjectContainer::QUERIES</member>, <member>DatabaseObjectContainer::DATA_SOURCE</member>,
71        <member>DatabaseObjectContainer::FORMS</member> or <member>DatabaseObjectContainer::REPORTS</member>,
72        this denotes the name of the data source (as denoted by
73        <member scope="com::sun::star::sdb">DataSource::Name</member>)</p>
74
75        @see XDatabaseMetaData::isCatalogAtStart
76        @see DatabaseObjectContainer
77    */
78    string  Name;
79};
80
81//=============================================================================
82
83}; }; }; }; };
84
85//=============================================================================
86
87#endif
88