23#include <uno/lbnames.h>
24#include <com/sun/star/lang/XSingleServiceFactory.hpp>
27using ::com::sun::star::lang::XMultiServiceFactory;
28using ::com::sun::star::lang::XSingleServiceFactory;
29using ::com::sun::star::uno::Reference;
30using ::com::sun::star::uno::Sequence;
33 const Reference<XMultiServiceFactory>& rServiceManager,
const OUString& rComponentName,
34 ::cppu::ComponentInstantiation
pCreateFunction,
const Sequence<OUString>& rServiceNames,
41 Reference<XSingleServiceFactory> xRet;
42 Reference<XMultiServiceFactory>
const xServiceManager;
45 ProviderRequest(
void* pServiceManager,
char const* pImplementationName)
46 : xServiceManager(
static_cast<XMultiServiceFactory*
>(pServiceManager))
51 bool CREATE_PROVIDER(std::u16string_view Implname,
const Sequence<OUString>& Services,
67 void* getProvider()
const {
return xRet.get(); }
72 void* pServiceManager,
78 ProviderRequest aReq(pServiceManager, pImplementationName);
80 aReq.CREATE_PROVIDER(MysqlCDriver::getImplementationName_Static(),
81 MysqlCDriver::getSupportedServiceNames_Static(),
89 pRet = aReq.getProvider();
95extern "C" SAL_DLLPUBLIC_EXPORT
void
98 *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
constexpr OUStringLiteral sImplementationName
ComponentInstantiation pCreateFunction
struct _uno_Environment uno_Environment
SAL_DLLPUBLIC_EXPORT void * component_getFactory(const char *pImplementationName, void *pServiceManager, void *)
SAL_DLLPUBLIC_EXPORT void component_getImplementationEnvironment(char const **ppEnvTypeName, uno_Environment **)
Reference< XSingleServiceFactory >(* createFactoryFunc)(const Reference< XMultiServiceFactory > &rServiceManager, const OUString &rComponentName, ::cppu::ComponentInstantiation pCreateFunction, const Sequence< OUString > &rServiceNames, rtl_ModuleCount *)
Reference< XInterface > MysqlCDriver_CreateInstance(const Reference< XMultiServiceFactory > &_rxFactory)