LibreOffice
LibreOffice 7.4 SDK C/C++ API Reference
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/Reference.h"
#include "cppuhelper/cppuhelperdllapi.h"

Go to the source code of this file.

Namespaces

 com
 
 com::sun
 
 com::sun::star
 
 com::sun::star::lang
 
 com::sun::star::registry
 
 com::sun::star::uno
 
 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 char **ppEnvTypeName, uno_Environment **ppEnv)
 Function pointer declaration. More...
 
typedef void(* component_getImplementationEnvironmentExtFunc) (char const **ppEnvTypeName, uno_Environment **ppEnv, char const *pImplName, uno_Environment *pTargetEnv)
 Function pointer declaration. More...
 
typedef const 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 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

◆ COMPONENT_GETENV

#define COMPONENT_GETENV   "component_getImplementationEnvironment"

◆ COMPONENT_GETENVEXT

#define COMPONENT_GETENVEXT   "component_getImplementationEnvironmentExt"

◆ COMPONENT_GETFACTORY

#define COMPONENT_GETFACTORY   "component_getFactory"

◆ COMPONENT_WRITEINFO

#define COMPONENT_WRITEINFO   "component_writeInfo"

Typedef Documentation

◆ component_getDescriptionFunc

typedef const char*( * component_getDescriptionFunc) (void)

Function pointer declaration.

Function retrieves a component description.

Returns
an XML formatted string containing a short component description
Deprecated:

◆ component_getFactoryFunc

typedef void*( * component_getFactoryFunc) (const 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)

◆ component_getImplementationEnvironmentExtFunc

typedef void( * component_getImplementationEnvironmentExtFunc) (char const **ppEnvTypeName, uno_Environment **ppEnv, 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

◆ component_getImplementationEnvironmentFunc

typedef void( * component_getImplementationEnvironmentFunc) (const 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

◆ component_writeInfoFunc

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

◆ uno_Environment