summaryrefslogtreecommitdiff
path: root/reportdesign/source/core/resource/core_resource.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'reportdesign/source/core/resource/core_resource.cxx')
-rw-r--r--reportdesign/source/core/resource/core_resource.cxx90
1 files changed, 90 insertions, 0 deletions
diff --git a/reportdesign/source/core/resource/core_resource.cxx b/reportdesign/source/core/resource/core_resource.cxx
new file mode 100644
index 000000000000..eb0ad6b57d4f
--- /dev/null
+++ b/reportdesign/source/core/resource/core_resource.cxx
@@ -0,0 +1,90 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "core_resource.hxx"
+#include <tools/simplerm.hxx>
+
+// ---- needed as long as we have no contexts for components ---
+#include <vcl/svapp.hxx>
+//---------------------------------------------------
+#include <comphelper/configurationhelper.hxx>
+#include <osl/thread.h>
+#include <com/sun/star/util/XMacroExpander.hpp>
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <rtl/uri.hxx>
+
+#ifndef _SOLAR_HRC
+#include <svl/solar.hrc>
+#endif
+#include "ModuleHelper.hxx"
+//.........................................................................
+namespace reportdesign
+{
+ using namespace ::com::sun::star;
+ //==================================================================
+ //= ResourceManager
+ //==================================================================
+ SimpleResMgr* ResourceManager::m_pImpl = NULL;
+
+ //------------------------------------------------------------------
+ ResourceManager::EnsureDelete::~EnsureDelete()
+ {
+ delete ResourceManager::m_pImpl;
+ }
+
+ //------------------------------------------------------------------
+ void ResourceManager::ensureImplExists(const uno::Reference< lang::XMultiComponentFactory >& /* _rM */)
+ {
+ if (!m_pImpl)
+ {
+ // now that we have an impl class make sure it's deleted on unloading the library
+ static ResourceManager::EnsureDelete s_aDeleteTheImplClass;
+
+ ::com::sun::star::lang::Locale aLocale = Application::GetSettings().GetUILocale();
+
+ rtl::OString sResLibName = rtl::OString( "rpt" );
+ m_pImpl = SimpleResMgr::Create(sResLibName, aLocale);
+ }
+ }
+
+ //------------------------------------------------------------------
+ ::rtl::OUString ResourceManager::loadString(sal_uInt16 _nResId,const uno::Reference< lang::XMultiComponentFactory >& _rM)
+ {
+ ::rtl::OUString sReturn;
+
+ ensureImplExists(_rM);
+ if (m_pImpl)
+ sReturn = m_pImpl->ReadString(_nResId);
+
+ return sReturn;
+ }
+
+//.........................................................................
+}
+//.........................................................................
+