summaryrefslogtreecommitdiff
path: root/comphelper
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-07-21 18:56:16 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2011-07-21 18:56:16 +0200
commita233dac0653f3f3054f7ad2da114ed989747e89a (patch)
treebf1e11438321c06125a94308649c496648061ccb /comphelper
parentacb6133d89abe071108577f821d7eaa381378879 (diff)
parente5647de7dd26775e45af24f11ac4f82a5518bd9e (diff)
resyncing to master
Diffstat (limited to 'comphelper')
-rw-r--r--comphelper/Library_comphelp.mk6
-rw-r--r--comphelper/inc/comphelper/componentmodule.hxx97
-rw-r--r--comphelper/inc/comphelper/servicedecl.hxx6
-rw-r--r--comphelper/inc/comphelper/storagehelper.hxx8
-rw-r--r--comphelper/prj/build.lst2
-rw-r--r--comphelper/source/inc/comphelper_module.hxx50
-rw-r--r--comphelper/source/misc/comphelper_module.cxx19
-rw-r--r--comphelper/source/misc/comphelper_services.cxx7
-rw-r--r--comphelper/source/misc/storagehelper.cxx17
9 files changed, 79 insertions, 133 deletions
diff --git a/comphelper/Library_comphelp.mk b/comphelper/Library_comphelp.mk
index d00078860cc4..acacafccdf9b 100644
--- a/comphelper/Library_comphelp.mk
+++ b/comphelper/Library_comphelp.mk
@@ -37,7 +37,6 @@ $(eval $(call gb_Library_set_include,comphelper,\
-I$(realpath $(SRCDIR)/comphelper/inc/pch) \
-I$(realpath $(SRCDIR)/comphelper/source/inc) \
$$(INCLUDE) \
- -I$(OUTDIR)/inc/offuh \
))
$(eval $(call gb_Library_add_defs,comphelper,\
@@ -52,6 +51,11 @@ $(eval $(call gb_Library_add_linked_libs,comphelper,\
$(gb_STDLIBS) \
))
+$(eval $(call gb_Library_add_api,comphelper,\
+ udkapi \
+ offapi \
+))
+
$(eval $(call gb_Library_add_exception_objects,comphelper,\
comphelper/source/compare/AnyCompareFactory \
comphelper/source/container/IndexedPropertyValuesContainer \
diff --git a/comphelper/inc/comphelper/componentmodule.hxx b/comphelper/inc/comphelper/componentmodule.hxx
index 4bc917ef13d3..5893313c8497 100644
--- a/comphelper/inc/comphelper/componentmodule.hxx
+++ b/comphelper/inc/comphelper/componentmodule.hxx
@@ -270,103 +270,6 @@ namespace comphelper
) );
}
- //==========================================================================
- //= helpers
- //==========================================================================
-
- //==========================================================================
- // declaring a OModule for a component library
-
-#define DECLARE_COMPONENT_MODULE( ModuleClass, ClientClass ) \
- /* -------------------------------------------------------------------- */ \
- class ModuleClass : public ::comphelper::OModule \
- { \
- friend struct ModuleClass##Creator; \
- typedef ::comphelper::OModule BaseClass; \
- \
- public: \
- static ModuleClass& getInstance(); \
- \
- private: \
- ModuleClass(); \
- }; \
- \
- /* -------------------------------------------------------------------- */ \
- class ClientClass : public ::comphelper::OModuleClient \
- { \
- private: \
- typedef ::comphelper::OModuleClient BaseClass; \
- \
- public: \
- ClientClass() : BaseClass( ModuleClass::getInstance() ) \
- { \
- } \
- }; \
- \
- /* -------------------------------------------------------------------- */ \
- template < class TYPE > \
- class OAutoRegistration : public ::comphelper::OAutoRegistration< TYPE > \
- { \
- private: \
- typedef ::comphelper::OAutoRegistration< TYPE > BaseClass; \
- \
- public: \
- OAutoRegistration() : BaseClass( ModuleClass::getInstance() ) \
- { \
- } \
- }; \
- /* -------------------------------------------------------------------- */ \
- template < class TYPE > \
- class OSingletonRegistration : public ::comphelper::OSingletonRegistration< TYPE > \
- { \
- private: \
- typedef ::comphelper::OSingletonRegistration< TYPE > BaseClass; \
- \
- public: \
- OSingletonRegistration() : BaseClass( ModuleClass::getInstance() ) \
- { \
- } \
- };
-
- //==========================================================================
- //= implementing a OModule for a component library
-
-#define IMPLEMENT_COMPONENT_MODULE( ModuleClass ) \
- struct ModuleClass##Creator \
- { \
- ModuleClass m_aModuleClass; \
- }; \
- namespace \
- { \
- class the##ModuleClass##Instance : public rtl::Static<ModuleClass##Creator, the##ModuleClass##Instance> {}; \
- } \
- \
- ModuleClass::ModuleClass() \
- :BaseClass() \
- { \
- } \
- \
- ModuleClass& ModuleClass::getInstance() \
- { \
- return the##ModuleClass##Instance::get().m_aModuleClass; \
- } \
-
- //==========================================================================
- //= implementing the API of a component library (component_*)
-
-#define IMPLEMENT_COMPONENT_LIBRARY_API( module_class, initializer_function ) \
- extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( \
- const sal_Char **ppEnvTypeName, uno_Environment ** /*ppEnv*/ ) \
- { \
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; \
- } \
- extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( \
- const sal_Char* pImplementationName, void* pServiceManager, void* pRegistryKey ) \
- { \
- initializer_function(); \
- return module_class::getInstance().getComponentFactory( pImplementationName, pServiceManager, pRegistryKey ); \
- }
-
//........................................................................
} // namespace comphelper
//........................................................................
diff --git a/comphelper/inc/comphelper/servicedecl.hxx b/comphelper/inc/comphelper/servicedecl.hxx
index b025cc7ffdce..c5ab4b79f5f7 100644
--- a/comphelper/inc/comphelper/servicedecl.hxx
+++ b/comphelper/inc/comphelper/servicedecl.hxx
@@ -387,12 +387,6 @@ BOOST_PP_REPEAT_FROM_TO(1, COMPHELPER_SERVICEDECL_COMPONENT_HELPER_MAX_ARGS,
#define COMPHELPER_SERVICEDECL_make_exports(varargs_ ) \
extern "C" \
{ \
- SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvTypeName, \
- uno_Environment** /*ppEnv*/ ) \
- { \
- *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; \
- } \
- \
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( sal_Char const* pImplName, \
::com::sun::star::lang::XMultiServiceFactory* pServiceManager, \
::com::sun::star::registry::XRegistryKey* pRegistryKey ) \
diff --git a/comphelper/inc/comphelper/storagehelper.hxx b/comphelper/inc/comphelper/storagehelper.hxx
index 00da529ab967..078bfb81c885 100644
--- a/comphelper/inc/comphelper/storagehelper.hxx
+++ b/comphelper/inc/comphelper/storagehelper.hxx
@@ -128,14 +128,6 @@ public:
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage )
throw ( ::com::sun::star::uno::Exception );
- // The followin methods are related to creation of a storage of specified format
- static ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >
- GetTemporaryStorageOfFormat(
- const ::rtl::OUString& aFormat,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xFactory
- = ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >() )
- throw ( ::com::sun::star::uno::Exception );
-
static ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >
GetStorageOfFormatFromURL(
const ::rtl::OUString& aFormat,
diff --git a/comphelper/prj/build.lst b/comphelper/prj/build.lst
index a828870f2dbf..7dde46c47c7e 100644
--- a/comphelper/prj/build.lst
+++ b/comphelper/prj/build.lst
@@ -1,2 +1,2 @@
-ph comphelper : cppuhelper ucbhelper offuh salhelper LIBXSLT:libxslt NULL
+ph comphelper : cppuhelper ucbhelper offapi salhelper LIBXSLT:libxslt NULL
ch comphelper\prj nmake - all ch_all NULL
diff --git a/comphelper/source/inc/comphelper_module.hxx b/comphelper/source/inc/comphelper_module.hxx
index 9f8e32656715..dfa364df1983 100644
--- a/comphelper/source/inc/comphelper_module.hxx
+++ b/comphelper/source/inc/comphelper_module.hxx
@@ -35,7 +35,55 @@ namespace comphelper { namespace module
{
//........................................................................
- DECLARE_COMPONENT_MODULE( ComphelperModule, ComphelperModuleClient )
+ class ComphelperModule : public ::comphelper::OModule
+ {
+ friend struct ComphelperModuleCreator;
+ typedef ::comphelper::OModule BaseClass;
+
+ public:
+ static ComphelperModule& getInstance();
+
+ private:
+ ComphelperModule();
+ };
+
+ /* -------------------------------------------------------------------- */
+ class ComphelperModuleClient : public ::comphelper::OModuleClient
+ {
+ private:
+ typedef ::comphelper::OModuleClient BaseClass;
+
+ public:
+ ComphelperModuleClient() : BaseClass( ComphelperModule::getInstance() )
+ {
+ }
+ };
+
+ /* -------------------------------------------------------------------- */
+ template < class TYPE >
+ class OAutoRegistration : public ::comphelper::OAutoRegistration< TYPE >
+ {
+ private:
+ typedef ::comphelper::OAutoRegistration< TYPE > BaseClass;
+
+ public:
+ OAutoRegistration() : BaseClass( ComphelperModule::getInstance() )
+ {
+ }
+ };
+
+ /* -------------------------------------------------------------------- */
+ template < class TYPE >
+ class OSingletonRegistration : public ::comphelper::OSingletonRegistration< TYPE >
+ {
+ private:
+ typedef ::comphelper::OSingletonRegistration< TYPE > BaseClass;
+
+ public:
+ OSingletonRegistration() : BaseClass( ComphelperModule::getInstance() )
+ {
+ }
+ };
//........................................................................
} } // namespace comphelper::module
diff --git a/comphelper/source/misc/comphelper_module.cxx b/comphelper/source/misc/comphelper_module.cxx
index 8b9ee4221dfc..b2bdad6665cb 100644
--- a/comphelper/source/misc/comphelper_module.cxx
+++ b/comphelper/source/misc/comphelper_module.cxx
@@ -35,7 +35,24 @@ namespace comphelper { namespace module
{
//........................................................................
- IMPLEMENT_COMPONENT_MODULE( ComphelperModule );
+ struct ComphelperModuleCreator
+ {
+ ComphelperModule m_aComphelperModule;
+ };
+ namespace
+ {
+ class theComphelperModuleInstance : public rtl::Static<ComphelperModuleCreator, theComphelperModuleInstance> {};
+ }
+
+ ComphelperModule::ComphelperModule()
+ :BaseClass()
+ {
+ }
+
+ ComphelperModule& ComphelperModule::getInstance()
+ {
+ return theComphelperModuleInstance::get().m_aComphelperModule;
+ }
//........................................................................
} } // namespace comphelper::module
diff --git a/comphelper/source/misc/comphelper_services.cxx b/comphelper/source/misc/comphelper_services.cxx
index 32d1c53aff93..ad5558fb8ee7 100644
--- a/comphelper/source/misc/comphelper_services.cxx
+++ b/comphelper/source/misc/comphelper_services.cxx
@@ -85,6 +85,11 @@ namespace comphelper { namespace module
} } // namespace comphelper::module
//........................................................................
-IMPLEMENT_COMPONENT_LIBRARY_API( ::comphelper::module::ComphelperModule, ::comphelper::module::initializeModule )
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
+ const sal_Char* pImplementationName, void* pServiceManager, void* pRegistryKey )
+{
+ ::comphelper::module::initializeModule();
+ return ::comphelper::module::ComphelperModule::getInstance().getComponentFactory( pImplementationName, pServiceManager, pRegistryKey );
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/comphelper/source/misc/storagehelper.cxx b/comphelper/source/misc/storagehelper.cxx
index 3441e0a1736f..70b7852b579a 100644
--- a/comphelper/source/misc/storagehelper.cxx
+++ b/comphelper/source/misc/storagehelper.cxx
@@ -314,23 +314,6 @@ sal_Int32 OStorageHelper::GetXStorageFormat(
}
// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetTemporaryStorageOfFormat(
- const ::rtl::OUString& aFormat,
- const uno::Reference< lang::XMultiServiceFactory >& xFactory )
- throw ( uno::Exception )
-{
- uno::Reference< lang::XMultiServiceFactory > xFactoryToUse = xFactory.is() ? xFactory : ::comphelper::getProcessServiceFactory();
- if ( !xFactoryToUse.is() )
- throw uno::RuntimeException();
-
- uno::Reference< io::XStream > xTmpStream(
- xFactoryToUse->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.io.TempFile" ) ) ),
- uno::UNO_QUERY_THROW );
-
- return GetStorageOfFormatFromStream( aFormat, xTmpStream, embed::ElementModes::READWRITE, xFactoryToUse );
-}
-
-// ----------------------------------------------------------------------
uno::Reference< embed::XStorage > OStorageHelper::GetStorageOfFormatFromURL(
const ::rtl::OUString& aFormat,
const ::rtl::OUString& aURL,