1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 *   Licensed to the Apache Software Foundation (ASF) under one or more
12 *   contributor license agreements. See the NOTICE file distributed
13 *   with this work for additional information regarding copyright
14 *   ownership. The ASF licenses this file to you under the Apache
15 *   License, Version 2.0 (the "License"); you may not use this file
16 *   except in compliance with the License. You may obtain a copy of
17 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef __com_sun_star_modules_idl__
20#define __com_sun_star_modules_idl__
21
22/* note: this file contains documentation of the modules.
23         sub-modules of modules are documented here too so there aren't
24         lots of tiny documentation only files everywhere.
25*/
26
27module com { module sun { module star {
28
29/** UNO Accessibility API
30
31    <p>This modules contains the basic interfaces of the UAA (UNO
32    Accessibility API).  Services that describe how these interfaces are
33    implemented can be found in other modules.  The services in this module
34    describe only what every accessible object has to support.</p>
35
36    <p>Making a class accessible starts by supporting the
37    ::com::sun::star::accessibility::XAccessible interface.
38    This interface's only method returns the actual accessibility object, an
39    instance of ::com::sun::star::accessibility::XAccessibleContext.
40    These two interfaces may be implemented by the same class in which case
41    a call to ::com::sun::star::accessibility::XAccessible getAccessible()
42    returns the same object that is
43    called.  Alternatively the implementation of the
44    ::com::sun::star::accessibility::XAccessibleContext
45    interface can be done by another class.  This makes it possible to put
46    all accessibility implementations into their own library which has only
47    to be loaded when necessary.</p>
48
49    <p>Note that all other interfaces have to be implemented by the same
50    class that implements the
51    ::com::sun::star::accessibility::XAccessibleContext
52    interface.  Note also that there is no way back from an accessibility
53    object to the object from which it has been obtained by means of the
54    UAA.  If you need such a back-link you have to provide one on your
55    own.</p>
56*/
57module accessibility {};
58
59/// interfaces for SMIL animations.
60module animations {};
61
62/// security and authenticates interfaces
63module auth {};
64
65/// Java AWT-like user interface toolkit interface specifications for UNO.
66module awt {
67
68    /// grid control.
69    module grid {};
70
71    /// tab pages.
72    module tab {};
73
74    /// hierarchical (tree) control.
75    module tree {};
76
77};
78
79/// Charting diagram interfaces.
80module chart {};
81
82/** New implementation of Charting diagram interfaces.  This module
83    contains only a rather small public API.  In addition there is a
84    private API in the chart2 project.
85 */
86module chart2 {
87
88    /// Chart data provider interfaces.
89    module data {};
90};
91
92/// Access to the tree of configuration data.
93module configuration {
94
95    /// interfaces for configuration backends.
96    module backend {
97        /// XML files backend.
98        module xml {};
99    };
100
101    /// deprecated bootstrapping mechanism.
102    module bootstrap {};
103
104};
105
106/// Common user interface elements
107module cui {};
108
109/// Clipboard and Drag&amp;Drop interfaces.
110module datatransfer {
111
112    /// Clipboard specific interfaces.
113    module clipboard {};
114
115    /// Drag&amp;Drop specific interfaces.
116    module dnd {};
117
118};
119
120/// interfaces for extension management.
121module deployment {
122
123    // this looks like it should not be documented
124    module test {};
125
126    /// interfaces for extension management dialogs.
127    module ui {};
128
129};
130
131/// Office document related interfaces.
132module document {};
133
134/// Drawing and shape specific interfaces.
135module drawing {
136
137    /// Draw/Impress user interface framework.
138    module framework {};
139
140};
141
142/// interfaces related to embedded objects, both native UNO and OLE.
143module embed {};
144
145/// Interfaces for managing forms and controls.
146module form {
147
148    /// form bindings.
149    module binding {};
150
151    /// form components (model part of the controls).
152    module component {};
153
154    /// form components (view part of the controls).
155    module control {};
156
157    /// various property handlers for forms.
158    module inspection {};
159
160    /// core components of forms.
161    module runtime {};
162
163    /// for submission of data from forms.
164    module submission {};
165
166    /// for validation of form data.
167    module validation {};
168
169};
170
171/// Interfaces for mathematical formulas.
172module formula {};
173
174/// Desktop environment framework interfaces.
175module frame {
176
177    /// various status properties.
178    module status {};
179
180};
181
182/// interfaces for galleries of images and media objects.
183module gallery {};
184
185/// Interfaces and data types to deal with basic geometric entities
186module geometry {};
187
188/// Interfaces for graphic handling
189module graphic {};
190
191/** Interface for internationalization. Regard this as an internal API,
192    subject to change. */
193module i18n {};
194
195/// interfaces for HTML image maps.
196module image {};
197
198/// interfaces for inspecting UNO objects via property handlers.
199module inspection {};
200
201/// lightweight directory access protocol (LDAP)
202module ldap {};
203
204/// Spell checker, hyphenation and thesaurus interfaces.
205module linguistic2 {};
206
207/// logging of events.
208module logging {};
209
210/// Interfaces for Email connectivity
211module mail {};
212
213/// Media type interfaces
214module media {};
215
216/// Interfaces for Mozilla integration.
217module mozilla {};
218
219/// Office document content related interfaces.
220module office {};
221
222/// Package file format interfaces.
223module packages {
224
225    /// interfaces for reading and writing manifest.xml files in ODF packages.
226    module manifest {};
227
228    /// for direct access to ZIP packages.
229    module zip {};
230
231};
232
233/// Netscape-like plugin interfaces.
234module plugin {};
235
236/// Presentation specific interfaces.
237module presentation {
238
239    /// for text fields in presentation documents.
240    module textfield {};
241
242};
243
244/// Interfaces for QA and automated tests
245module qa {};
246
247/** RDF (Resource Description Framework) and metadata interfaces.
248
249    <p>
250    This module provides interfaces for storing and accessing metadata
251    in <a href="http://www.w3.org/RDF/">Resource Description Framework</a>
252    format.
253    The API consists of two main parts: the RDF data model and the ODF
254    document integration.
255    </p>
256
257    <p>
258    The <a href="http://www.w3.org/TR/rdf-concepts/">RDF data model</a>
259    describes graphs of statements.
260    The nodes in the graph are of type rdf::XNode,
261    which has several subtypes: rdf::XResource,
262    rdf::XBlankNode,
263    rdf::XURI and rdf::XLiteral.
264    Statements are then triples of nodes, and have type
265    rdf::Statement.
266    </p>
267
268    <p>
269    The main part of the RDF data model is the
270    rdf::XRepository, which consists of a set of graphs.
271    The repository allows for importing/exporting graphs from/to files,
272    as well as querying the contents of the repository.
273    The type of the graphs is rdf::XNamedGraph.
274    </p>
275
276    <p>
277    Documents that support metadata implement the interfaces
278    rdf::XRepositorySupplier and
279    rdf::XDocumentMetadataAccess.
280    Furthermore, all elements of ODF documents that may have metadata attached
281    implement the interface rdf::XMetadatable.
282    </p>
283
284 */
285module rdf {};
286
287/// Interfaces and data structures for rendering
288module rendering {};
289
290/// interfaces for reports generated from data sources.
291module report {
292
293    /// property handlers for reports.
294    module inspection {};
295
296    /// report meta data.
297    module meta {};
298
299};
300
301/// Interfaces to access (UI) resource files.
302module resource {};
303
304/// Interfaces for scanner control.
305module scanner {};
306
307/// Scripting language bindings.
308module script {
309
310    /// manage available scripts in some sort of hierarchy.
311    module browse {};
312
313    /// interfaces for scripting providers.
314    module provider {};
315
316    /// VBA scripting.
317    module vba {};
318
319};
320
321/// Basic interfaces for database access.
322module sdb {
323
324    /// application UI.
325    module application {};
326
327    /// misc stuff.
328    module tools {};
329
330};
331
332/// Database component interfaces.
333module sdbc {};
334
335/// High-level database component interfaces.
336module sdbcx {};
337
338/// cryptographic interfaces.
339module security {};
340
341/// Setup specific interfaces
342module setup {};
343
344/// Spreadsheet specific interfaces.
345module sheet {};
346
347/// allows to put smart tags in document content.
348module smarttags {};
349
350/// Formatting and layout style and style sheet interfaces.
351module style {};
352
353/// Interfaces for import/export of Scalable Vector Format.
354module svg {};
355
356/// Host operating system integration interfaces.
357module system {};
358
359/// Table specific interfaces (for text and spreadsheet).
360module table {};
361
362/// Task management interfaces.
363module task {};
364
365/// Text specific interfaces.
366module text {
367
368    /// text field masters.
369    module fieldmaster {};
370
371    /// text fields.
372    module textfield {
373
374        /// Document Properties text fields.
375        module docinfo {};
376
377    };
378
379};
380
381/// Universal Content Broker interfaces.
382module ucb {};
383
384/// Dialogs and other UI elements.
385module ui {
386
387    /// dialogs.
388    module dialogs {};
389
390};
391
392/// Miscellaneous interfaces for sorting, connecting objects etc.
393module util {};
394
395/// Document view specific interfaces (e.g. selection access and printing).
396module view {};
397
398/// interfaces for XForms (XML-based forms) implementation
399module xforms {};
400
401/// XML related interfaces.
402module xml {
403
404    /// XML encryption interfaces.
405    module crypto {
406
407        /// XML encryption SAX interfaces.
408        module sax {};
409
410    };
411
412    /// Compressed SAX interfaces.
413    module csax {};
414
415    /// XML Document Object Model.
416    module dom {
417
418        /// XML Document Object Model events.
419        module events {};
420
421        /// XML Document Object Model views.
422        module views {};
423
424    };
425
426    /// no idea what this does but it's all marked "internal".
427    module input {};
428
429    /// SAX interfaces.
430    module sax {};
431
432    /// something related to creating DOMs from SAX interfaces?
433    module wrapper {};
434
435    /// XPath interfaces.
436    module xpath {};
437
438    /// XSLT interfaces.
439    module xslt {};
440
441};
442
443/// W3C XML Schema-2 data type related interfaces.
444module xsd {};
445
446}; }; };
447
448#endif
449
450/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
451