summaryrefslogtreecommitdiff
path: root/include/osl/detail/component-mapping.h
blob: b32d41b5c8a802b9688c8adbb8c8fc009e2fbf67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
/* -*- 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/.
 */

#ifndef INCLUDED_OSL_DETAIL_COMPONENT_MAPPING_H
#define INCLUDED_OSL_DETAIL_COMPONENT_MAPPING_H

#include <osl/detail/component-declarations.h>

#ifdef DISABLE_DYNLOADING

#ifdef __cplusplus
extern "C" {
#endif

/* On iOS and perhaps Android static linking of the LO code into one
 * executable (on Android, into one shared library) is used. In order to get
 * the needed UNO coponent linked in, the "main" code for an app needs to
 * implement the lo_get_libmap() function to map UNO component library names
 * as produced in a build for iOS (like configmgr.uno.a or libsclo.a) to the
 * corresponding component_getFactory functions.
 */

typedef struct {
    const char *name;
    void * (*component_getFactory_function)(const char *, void *, void *);
} lib_to_factory_mapping;

typedef struct {
    const char *name;
    void * (*constructor_function)(void *, void *);
} lib_to_constructor_mapping;

const lib_to_factory_mapping *lo_get_factory_map(void);
const lib_to_constructor_mapping *lo_get_constructor_map(void);

#ifdef __cplusplus
}
#endif

#define LO_CORE_FACTORY_MAP \
    { "libembobj.a", embobj_component_getFactory }, \
    { "libemboleobj.a", emboleobj_component_getFactory }, \
    { "libintrospectionlo.a", introspection_component_getFactory }, \
    { "libreflectionlo.a", reflection_component_getFactory }, \
    { "libstocserviceslo.a", stocservices_component_getFactory }, \
    { "libcomphelper.a", comphelp_component_getFactory }, \
    { "libconfigmgrlo.a", configmgr_component_getFactory }, \
    { "libdeployment.a", deployment_component_getFactory }, \
    { "libevtattlo.a", evtatt_component_getFactory }, \
    { "libfilterconfiglo.a", filterconfig1_component_getFactory }, \
    { "libfsstoragelo.a", fsstorage_component_getFactory }, \
    { "libfwklo.a", fwk_component_getFactory }, \
    { "libfwllo.a", fwl_component_getFactory }, \
    { "libhyphenlo.a", hyphen_component_getFactory }, \
    { "libi18npoollo.a", i18npool_component_getFactory }, \
    { "liblnglo.a", lng_component_getFactory }, \
    { "liblnthlo.a", lnth_component_getFactory }, \
    { "liblocalebe1lo.a", localebe1_component_getFactory }, \
    { "libooxlo.a", oox_component_getFactory }, \
    { "libpackage2.a", package2_component_getFactory }, \
    { "libsfxlo.a", sfx_component_getFactory }, \
    { "libsotlo.a", sot_component_getFactory }, \
    { "libspelllo.a", spell_component_getFactory }, \
    { "libsvllo.a", svl_component_getFactory }, \
    { "libsvtlo.a", svt_component_getFactory }, \
    { "libsvxlo.a", svx_component_getFactory }, \
    { "libtklo.a", tk_component_getFactory }, \
    { "libucb1.a", ucb_component_getFactory }, \
    { "libucpexpand1lo.a", ucpexpand1_component_getFactory }, \
    { "libucpfile1.a", ucpfile_component_getFactory }, \
    { "libunordflo.a", unordf_component_getFactory }, \
    { "libunoxmllo.a", unoxml_component_getFactory }, \
    { "libutllo.a", utl_component_getFactory }, \
    { "libvcllo.a", vcl_component_getFactory }, \
    { "libxmlsecurity.a", xmlsecurity_component_getFactory }, \
    { "libxolo.a", xo_component_getFactory }, \
    { "libxoflo.a", xof_component_getFactory }, \
    { "libxstor.a", xstor_component_getFactory }, \

#define LO_EXTENDED_CORE_FACTORY_MAP \
    LO_CORE_FACTORY_MAP \
    { "libanimcorelo.a", animcore_component_getFactory }, \
    { "libavmedialo.a", avmedia_component_getFactory }, \
    { "libchartcorelo.a", chartcore_component_getFactory }, \
    { "libfilterconfiglo.a", filterconfig1_component_getFactory }, \
    { "libfrmlo.a", frm_component_getFactory }, \
    { "libfwklo.a", fwk_component_getFactory }, \
    { "libfwmlo.a", fwm_component_getFactory }, \
    { "libsvxcorelo.a", svxcore_component_getFactory }, \
    { "libtextfdlo.a", textfd_component_getFactory }, \
    { "libtklo.a", tk_component_getFactory }, \
    { "libucppkg1.a", ucppkg1_component_getFactory }, \
    { "libxmlfdlo.a", xmlfd_component_getFactory }, \

#define LO_BASE_CORE_FACTORY_MAP \
    { "libdbalo.a", dba_component_getFactory }, \
    { "libdbaxmllo.a", dbaxml_component_getFactory }, \

#define LO_CALC_CORE_FACTORY_MAP \
    { "libscdlo.a", scd_component_getFactory }, \
    { "libscfiltlo.a", scfilt_component_getFactory }, \
    { "libsclo.a", sc_component_getFactory }, \

#define LO_CALC_FACTORY_MAP \
    LO_CALC_CORE_FACTORY_MAP \
    { "libanalysislo.a", analysis_component_getFactory }, \
    { "libdatelo.a", date_component_getFactory }, \
    { "libpricinglo.a", pricing_component_getFactory }, \

#define LO_DRAW_CORE_FACTORY_MAP \
    { "libsddlo.a", sdd_component_getFactory }, \
    { "libsdlo.a", sd_component_getFactory }, \
    { "libsvgfilterlo.a", svgfilter_component_getFactory }, \
    { "libwpftdrawlo.a", wpftdraw_component_getFactory }, \

#define LO_MATH_FACTORY_MAP \
    { "libsmdlo.a", smd_component_getFactory }, \
    { "libsmlo.a", sm_component_getFactory }, \

#define LO_WRITER_CORE_FACTORY_MAP \
    { "libswdlo.a", swd_component_getFactory }, \
    { "libswlo.a", sw_component_getFactory }, \
    { "libwriterfilterlo.a", writerfilter_component_getFactory }, \

#define LO_WRITER_FACTORY_MAP \
    LO_WRITER_CORE_FACTORY_MAP \
    { "libhwplo.a", hwp_component_getFactory }, \
    { "libt602filterlo.a", t602filter_component_getFactory }, \
    { "libwpftwriterlo.a", wpftwriter_component_getFactory }, \

#define NON_APP_SPECIFIC_CONSTRUCTOR_MAP \
    { "com_sun_star_comp_extensions_xml_sax_ParserExpat", com_sun_star_comp_extensions_xml_sax_ParserExpat }, \
    { "com_sun_star_comp_extensions_xml_sax_FastParser", com_sun_star_comp_extensions_xml_sax_FastParser }, \
    { "com_sun_star_comp_stoc_DLLComponentLoader", com_sun_star_comp_stoc_DLLComponentLoader }, \
    { "com_sun_star_comp_stoc_ImplementationRegistration", com_sun_star_comp_stoc_ImplementationRegistration }, \
    { "com_sun_star_comp_stoc_NestedRegistry", com_sun_star_comp_stoc_NestedRegistry }, \
    { "com_sun_star_comp_stoc_ORegistryServiceManager", com_sun_star_comp_stoc_ORegistryServiceManager }, \
    { "com_sun_star_comp_stoc_OServiceManager", com_sun_star_comp_stoc_OServiceManager }, \
    { "com_sun_star_comp_stoc_OServiceManagerWrapper", com_sun_star_comp_stoc_OServiceManagerWrapper }, \
    { "com_sun_star_comp_stoc_SimpleRegistry", com_sun_star_comp_stoc_SimpleRegistry }, \
    { "com_sun_star_extensions_xml_sax_Writer", com_sun_star_extensions_xml_sax_Writer }, \
    { "com_sun_star_security_comp_stoc_AccessController", com_sun_star_security_comp_stoc_AccessController }, \
    { "com_sun_star_security_comp_stoc_FilePolicy", com_sun_star_security_comp_stoc_FilePolicy }, \

#endif /* DISABLE_DYNLOADING */

#endif // INCLUDED_OSL_DETAIL_COMPONENT_MAPPING_H

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */