LibreOffice
LibreOffice 5.3 SDK C/C++ API Reference
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Namespaces | Macros | Typedefs | Functions
factory.hxx File Reference
#include <sal/config.h>
#include <cstddef>
#include <rtl/ustring.hxx>
#include <rtl/unload.h>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/lang/XSingleComponentFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/registry/XRegistryKey.hpp>
#include <cppuhelper/cppuhelperdllapi.h>

Go to the source code of this file.

Namespaces

 cppu
 

Macros

#define COMPONENT_GETENV   "component_getImplementationEnvironment"
 
#define COMPONENT_GETENVEXT   "component_getImplementationEnvironmentExt"
 
#define COMPONENT_WRITEINFO   "component_writeInfo"
 
#define COMPONENT_GETFACTORY   "component_getFactory"
 

Typedefs

typedef struct _uno_Environment uno_Environment
 
typedef void(* component_getImplementationEnvironmentFunc )(const sal_Char **ppEnvTypeName, uno_Environment **ppEnv)
 Function pointer declaration. More...
 
typedef void(* component_getImplementationEnvironmentExtFunc )(sal_Char const **ppEnvTypeName, uno_Environment **ppEnv, sal_Char const *pImplName, uno_Environment *pTargetEnv)
 Function pointer declaration. More...
 
typedef const sal_Char *(* component_getDescriptionFunc )(void)
 Function pointer declaration. More...
 
typedef sal_Bool(* component_writeInfoFunc )(void *pServiceManager, void *pRegistryKey)
 Function pointer declaration. More...
 
typedef void *(* component_getFactoryFunc )(const sal_Char *pImplName, void *pServiceManager, void *pRegistryKey)
 Function pointer declaration. More...
 
typedef css::uno::Reference
< css::uno::XInterface >(* 
cppu::ComponentFactoryFunc )(css::uno::Reference< css::uno::XComponentContext > const &xContext)
 Function pointer declaration. More...
 
typedef css::uno::Reference
< css::uno::XInterface >(* 
cppu::ComponentInstantiation )(const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceManager)
 Deprecated. More...
 

Functions

CPPUHELPER_DLLPUBLIC
css::uno::Reference
< css::lang::XSingleComponentFactory > 
cppu::createSingleComponentFactory (ComponentFactoryFunc fptr,::rtl::OUString const &rImplementationName, css::uno::Sequence< ::rtl::OUString > const &rServiceNames, rtl_ModuleCount *pModCount=NULL)
 Creates a single component factory supporting the XSingleComponentFactory interface. More...
 
CPPUHELPER_DLLPUBLIC
css::uno::Reference
< css::lang::XSingleComponentFactory > 
cppu::createOneInstanceComponentFactory (ComponentFactoryFunc fptr,::rtl::OUString const &rImplementationName, css::uno::Sequence< ::rtl::OUString > const &rServiceNames, rtl_ModuleCount *pModCount=NULL)
 Creates a single service factory which holds the instance created only once. More...
 
CPPUHELPER_DLLPUBLIC
css::uno::Reference
< css::lang::XSingleServiceFactory > 
cppu::createSingleFactory (const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceManager, const ::rtl::OUString &rImplementationName, ComponentInstantiation pCreateFunction, const css::uno::Sequence< ::rtl::OUString > &rServiceNames, rtl_ModuleCount *pModCount=NULL)
 Deprecated. More...
 
CPPUHELPER_DLLPUBLIC
css::uno::Reference
< css::lang::XSingleServiceFactory > 
cppu::createFactoryProxy (const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceManager, const css::uno::Reference< css::lang::XSingleServiceFactory > &rFactory)
 Deprecated. More...
 
CPPUHELPER_DLLPUBLIC
css::uno::Reference
< css::lang::XSingleServiceFactory > 
cppu::createOneInstanceFactory (const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceManager, const ::rtl::OUString &rComponentName, ComponentInstantiation pCreateFunction, const css::uno::Sequence< ::rtl::OUString > &rServiceNames, rtl_ModuleCount *pModCount=NULL)
 Deprecated. More...
 
CPPUHELPER_DLLPUBLIC
css::uno::Reference
< css::lang::XSingleServiceFactory > 
cppu::createSingleRegistryFactory (const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceManager, const ::rtl::OUString &rImplementationName, const css::uno::Reference< css::registry::XRegistryKey > &rImplementationKey)
 Deprecated. More...
 
CPPUHELPER_DLLPUBLIC
css::uno::Reference
< css::lang::XSingleServiceFactory > 
cppu::createOneInstanceRegistryFactory (const css::uno::Reference< css::lang::XMultiServiceFactory > &rServiceManager, const ::rtl::OUString &rComponentName, const css::uno::Reference< css::registry::XRegistryKey > &rImplementationKey)
 Deprecated. More...
 

Macro Definition Documentation

#define COMPONENT_GETENV   "component_getImplementationEnvironment"
#define COMPONENT_GETENVEXT   "component_getImplementationEnvironmentExt"
#define COMPONENT_GETFACTORY   "component_getFactory"
#define COMPONENT_WRITEINFO   "component_writeInfo"

Typedef Documentation

typedef const sal_Char*( * component_getDescriptionFunc)(void)

Function pointer declaration.

Function retrieves a component description.

Returns
an XML formatted string containing a short component description
Deprecated:
typedef void*( * component_getFactoryFunc)(const sal_Char *pImplName, void *pServiceManager, void *pRegistryKey)

Function pointer declaration.

Retrieves a factory to create component instances.

Parameters
pImplNamedesired implementation name
pServiceManagera service manager (the type is XMultiServiceFactory that can be used by the environment returned by component_getImplementationEnvironment)
pRegistryKeya registry key (the type is XRegistryKey that can be used by the environment returned by component_getImplementationEnvironment)
Returns
acquired component factory (the type is lang::XSingleComponentFactory or lang::XSingleServiceFactory to be used by the environment returned by component_getImplementationEnvironment)
typedef void( * component_getImplementationEnvironmentExtFunc)(sal_Char const **ppEnvTypeName, uno_Environment **ppEnv, sal_Char const *pImplName, uno_Environment *pTargetEnv)

Function pointer declaration.

Function determines the environment of the component implementation, i.e. the compiler. If the environment is NOT session specific (needs no additional context), then this function should return the environment type name and leave ppEnv (to 0).

Parameters
ppEnvTypeNameenvironment type name; string must be a constant
ppEnvfunction returns an environment if the environment is session specific, i.e. has special context
pImplName
typedef void( * component_getImplementationEnvironmentFunc)(const sal_Char **ppEnvTypeName, uno_Environment **ppEnv)

Function pointer declaration.

Function determines the environment of the component implementation, i.e. which compiler compiled it. If the environment is NOT session specific (needs no additional context), then this function should return the environment type name and leave ppEnv (to 0).

Parameters
ppEnvTypeNameenvironment type name; string must be constant
ppEnvfunction returns its environment if the environment is session specific, i.e. has special context
typedef sal_Bool( * component_writeInfoFunc)(void *pServiceManager, void *pRegistryKey)

Function pointer declaration.

Deprecated:
component_writeInfo should no longer be used in new components

Function writes component registry info, at least writing the supported service names.

Parameters
pServiceManagera service manager (the type is an XMultiServiceFactory that can be used by the environment returned by component_getImplementationEnvironment)
pRegistryKeya registry key (the type is XRegistryKey that can be used by the environment returned by component_getImplementationEnvironment)
Returns
true if everything went fine