summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-05-25 15:41:59 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-05-28 13:03:01 +0100
commit6e12f367d5d0cee5b023bf93fe6faaebd92d5abd (patch)
tree871db9d4db47db349be5134feb5b9cec48768b9a /filter
parent2899b1ade437812cfb138fe48a5b9517727facc9 (diff)
reduce static_initialization_and_destruction chain
Change-Id: Ic709bb128a82016b1bbc2c43cf4fe7ad091e7b1a
Diffstat (limited to 'filter')
-rw-r--r--filter/source/config/cache/constant.hxx47
-rw-r--r--filter/source/config/cache/registration.cxx47
2 files changed, 19 insertions, 75 deletions
diff --git a/filter/source/config/cache/constant.hxx b/filter/source/config/cache/constant.hxx
index 91618033fcbb..a6e28b55554a 100644
--- a/filter/source/config/cache/constant.hxx
+++ b/filter/source/config/cache/constant.hxx
@@ -30,15 +30,6 @@
#include "macros.hxx"
-namespace filter { namespace config {
-extern rtl::OUString pFilterStrings[];
-} }
-#ifndef PROPNAME_IMPL_DECL
-# define PROPNAME_DECL(index, str) (pFilterStrings[(index)])
-#else
-# define PROPNAME_DECL(index, str) pFilterStrings[(index)] = _FILTER_CONFIG_FROM_ASCII_(str)
-#endif
-
/* disable impl_loadOnDemand function of BaseContainer for certain
functions, where it the feature "impl_loadItemOnDemand() of class FilterCache
can be used instead of loadAll()!*/
@@ -50,40 +41,40 @@ extern rtl::OUString pFilterStrings[];
configuration API and can be used at all name containers
(based on this filtercache) too.
*/
-#define PROPNAME_NAME PROPNAME_DECL(0, "Name")
+#define PROPNAME_NAME "Name"
/** @short used to identify a type item property against the
configuration API and can be used at all name containers
(based on this filtercache) too.
*/
-#define PROPNAME_UINAME PROPNAME_DECL(1, "UIName" )
-#define PROPNAME_UINAMES PROPNAME_DECL(2, "UINames" )
-#define PROPNAME_PREFERRED PROPNAME_DECL(3, "Preferred" )
-#define PROPNAME_PREFERREDFILTER PROPNAME_DECL(4, "PreferredFilter" )
-#define PROPNAME_DETECTSERVICE PROPNAME_DECL(5, "DetectService" )
-#define PROPNAME_MEDIATYPE PROPNAME_DECL(6, "MediaType" )
-#define PROPNAME_CLIPBOARDFORMAT PROPNAME_DECL(7, "ClipboardFormat" )
-#define PROPNAME_URLPATTERN PROPNAME_DECL(8, "URLPattern" )
-#define PROPNAME_EXTENSIONS PROPNAME_DECL(9, "Extensions" )
+#define PROPNAME_UINAME "UIName"
+#define PROPNAME_UINAMES "UINames"
+#define PROPNAME_PREFERRED "Preferred"
+#define PROPNAME_PREFERREDFILTER "PreferredFilter"
+#define PROPNAME_DETECTSERVICE "DetectService"
+#define PROPNAME_MEDIATYPE "MediaType"
+#define PROPNAME_CLIPBOARDFORMAT "ClipboardFormat"
+#define PROPNAME_URLPATTERN "URLPattern"
+#define PROPNAME_EXTENSIONS "Extensions"
/** @short used to identify a filter item property against the
configuration API and can be used at all name containers
(based on this filtercache) too.
*/
-#define PROPNAME_TYPE PROPNAME_DECL(10, "Type" )
-#define PROPNAME_DOCUMENTSERVICE PROPNAME_DECL(11, "DocumentService" )
-#define PROPNAME_FILTERSERVICE PROPNAME_DECL(12, "FilterService" )
-#define PROPNAME_UICOMPONENT PROPNAME_DECL(13, "UIComponent" )
-#define PROPNAME_FLAGS PROPNAME_DECL(14, "Flags" )
-#define PROPNAME_USERDATA PROPNAME_DECL(15, "UserData" )
-#define PROPNAME_TEMPLATENAME PROPNAME_DECL(16, "TemplateName" )
-#define PROPNAME_FILEFORMATVERSION PROPNAME_DECL(17, "FileFormatVersion")
+#define PROPNAME_TYPE "Type"
+#define PROPNAME_DOCUMENTSERVICE "DocumentService"
+#define PROPNAME_FILTERSERVICE "FilterService"
+#define PROPNAME_UICOMPONENT "UIComponent"
+#define PROPNAME_FLAGS "Flags"
+#define PROPNAME_USERDATA "UserData"
+#define PROPNAME_TEMPLATENAME "TemplateName"
+#define PROPNAME_FILEFORMATVERSION "FileFormatVersion"
/** @short used to identify a frame loader or detect service item
property against the configuration API and can be used
at all name containers (based on this filtercache) too.
*/
-#define PROPNAME_TYPES PROPNAME_DECL(18, "Types")
+#define PROPNAME_TYPES "Types"
/** @short used to identify the list of sorted filters for a specific
office module
diff --git a/filter/source/config/cache/registration.cxx b/filter/source/config/cache/registration.cxx
index 3895f57393a7..846068cb4962 100644
--- a/filter/source/config/cache/registration.cxx
+++ b/filter/source/config/cache/registration.cxx
@@ -30,12 +30,6 @@
#include <cppuhelper/factory.hxx>
#include <rtl/instance.hxx>
-#ifdef _FILTER_CONFIG_CONSTANT_HXX_
-# error "Already included constant.hxx"
-#else
-# define PROPNAME_IMPL_DECL
-# include "constant.hxx"
-#endif
#include "typedetection.hxx"
#include "filterfactory.hxx"
#include "contenthandlerfactory.hxx"
@@ -53,45 +47,6 @@ namespace css = ::com::sun::star;
//_______________________________________________
// definitions
-rtl::OUString pFilterStrings[19];
-
-namespace
-{
- class doInitConstants
- {
- public:
- doInitConstants()
- {
- PROPNAME_NAME;
- PROPNAME_UINAME;
- PROPNAME_UINAMES;
- PROPNAME_PREFERRED;
- PROPNAME_PREFERREDFILTER;
- PROPNAME_DETECTSERVICE;
- PROPNAME_MEDIATYPE;
- PROPNAME_CLIPBOARDFORMAT;
- PROPNAME_URLPATTERN;
- PROPNAME_EXTENSIONS;
- PROPNAME_TYPE;
- PROPNAME_DOCUMENTSERVICE;
- PROPNAME_FILTERSERVICE;
- PROPNAME_UICOMPONENT;
- PROPNAME_FLAGS;
- PROPNAME_USERDATA;
- PROPNAME_TEMPLATENAME;
- PROPNAME_FILEFORMATVERSION;
- PROPNAME_TYPES;
- }
- };
-
- struct theConstantsInitializer : public rtl::Static< doInitConstants, theConstantsInitializer > {};
-}
-
-static void InitConstants()
-{
- theConstantsInitializer::get();
-}
-
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL
filterconfig1_component_getFactory( const sal_Char* pImplementationName,
void* pServiceManager,
@@ -100,8 +55,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL
if ((!pImplementationName) || (!pServiceManager ))
return NULL;
- InitConstants();
-
com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >
xSMGR = reinterpret_cast< com::sun::star::lang::XMultiServiceFactory* >(pServiceManager);
com::sun::star::uno::Reference< com::sun::star::lang::XSingleServiceFactory > xFactory;