xref: /AOO41X/main/filter/source/config/cache/registration.cxx (revision 9e0fc027f109ec4ffcb6033aeec742a099701108)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_filter.hxx"
26 
27 #include "registration.hxx"
28 
29 //_______________________________________________
30 // includes
31 
32 #ifdef _FILTER_CONFIG_CONSTANT_HXX_
33 #  error "Already included constant.hxx"
34 #else
35 #  define PROPNAME_IMPL_DECL
36 #  include "constant.hxx"
37 #endif
38 #include <stdio.h>
39 #include "typedetection.hxx"
40 #include "filterfactory.hxx"
41 #include "contenthandlerfactory.hxx"
42 #include "frameloaderfactory.hxx"
43 #include "configflush.hxx"
44 
45 //_______________________________________________
46 // namespace
47 
48 namespace filter{
49     namespace config{
50 
51 namespace css = ::com::sun::star;
52 
53 //_______________________________________________
54 // definitions
55 
56 rtl::OUString pFilterStrings[19];
57 static bool bInitialized = false;
58 
InitConstants()59 static void InitConstants()
60 {
61     if (!bInitialized)
62     {
63         ::osl::MutexGuard aGuard(::osl::Mutex::getGlobalMutex());
64         if (!bInitialized)
65         {
66             PROPNAME_NAME;
67             PROPNAME_UINAME;
68             PROPNAME_UINAMES;
69             PROPNAME_PREFERRED;
70             PROPNAME_PREFERREDFILTER;
71             PROPNAME_DETECTSERVICE;
72             PROPNAME_MEDIATYPE;
73             PROPNAME_CLIPBOARDFORMAT;
74             PROPNAME_URLPATTERN;
75             PROPNAME_EXTENSIONS;
76             PROPNAME_TYPE;
77             PROPNAME_DOCUMENTSERVICE;
78             PROPNAME_FILTERSERVICE;
79             PROPNAME_UICOMPONENT;
80             PROPNAME_FLAGS;
81             PROPNAME_USERDATA;
82             PROPNAME_TEMPLATENAME;
83             PROPNAME_FILEFORMATVERSION;
84             PROPNAME_TYPES;
85             bInitialized = true;
86         }
87     }
88 }
89 
90 // extern "C" component_getImplementationEnvironment()
91 _COMPHELPER_COMPONENT_GETIMPLEMENTATIONENVIRONMENT
92 
93 // extern "C" component_getFactory()
94 _COMPHELPER_COMPONENT_GETFACTORY
95 (
96     { InitConstants(); },
97     _COMPHELPER_MULTIINSTANCEFACTORY( TypeDetection::impl_getImplementationName()   ,
98                                       TypeDetection::impl_getSupportedServiceNames(),
99                                       TypeDetection::impl_createInstance            )
100 
101     _COMPHELPER_MULTIINSTANCEFACTORY( FilterFactory::impl_getImplementationName()   ,
102                                       FilterFactory::impl_getSupportedServiceNames(),
103                                       FilterFactory::impl_createInstance            )
104 
105     _COMPHELPER_MULTIINSTANCEFACTORY( ContentHandlerFactory::impl_getImplementationName()   ,
106                                       ContentHandlerFactory::impl_getSupportedServiceNames(),
107                                       ContentHandlerFactory::impl_createInstance            )
108 
109     _COMPHELPER_MULTIINSTANCEFACTORY( FrameLoaderFactory::impl_getImplementationName()   ,
110                                       FrameLoaderFactory::impl_getSupportedServiceNames(),
111                                       FrameLoaderFactory::impl_createInstance            )
112 
113     _COMPHELPER_ONEINSTANCEFACTORY( ConfigFlush::impl_getImplementationName()   ,
114                                     ConfigFlush::impl_getSupportedServiceNames(),
115                                     ConfigFlush::impl_createInstance            )
116 )
117 
118     } // namespace config
119 } // namespace filter
120