LibreOffice LibreOffice 4.3 SDK C/C++ API Reference

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
implementationentry.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19 #ifndef INCLUDED_CPPUHELPER_IMPLEMENTATIONENTRY_HXX
20 #define INCLUDED_CPPUHELPER_IMPLEMENTATIONENTRY_HXX
21
22 #include <cppuhelper/factory.hxx>
23 #include <cppuhelper/cppuhelperdllapi.h>
24
25 // MinGW wants it the one way around while MSVC wants it the other (cf.
26 // <sourceforge.net/support/tracker.php?aid=3514133> "Syntactic __cdecl
27 // incompatibility with MSVC"; and everywhere else, SAL_CALL is empty, so
28 // doesn't matter):
29 #if defined __GNUC__
30 #define MY_FN_PTR(name) SAL_CALL (* name)
31 #else
32 #define MY_FN_PTR(name) (SAL_CALL * name)
33 #endif
34
35 namespace cppu
36 {
40 struct ImplementationEntry
41 {
44 ComponentFactoryFunc create;
45
49 rtl::OUString MY_FN_PTR( getImplementationName )();
50
54 com::sun::star::uno::Sequence< rtl::OUString > MY_FN_PTR( getSupportedServiceNames ) ();
55
61 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory >
62 MY_FN_PTR( createFactory )(
63 ComponentFactoryFunc fptr,
64 ::rtl::OUString const & rImplementationName,
65 ::com::sun::star::uno::Sequence< ::rtl::OUString > const & rServiceNames,
66 rtl_ModuleCount * pModCount );
67
71 rtl_ModuleCount * moduleCounter;
72
76 sal_Int32 nFlags;
77 };
78
93 CPPUHELPER_DLLPUBLIC sal_Bool component_writeInfoHelper(
94 void *pServiceManager, void *pRegistryKey , const struct ImplementationEntry entries[] );
95
112 CPPUHELPER_DLLPUBLIC void *component_getFactoryHelper(
113 const sal_Char * pImplName,
114 void * pServiceManager,
115 void * pRegistryKey,
116 const struct ImplementationEntry entries[] );
117
118 }
119 #endif
120
121 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
cppu::ImplementationEntry::create
ComponentFactoryFunc create
Function that creates an instance of the implementation.
Definition: implementationentry.hxx:44
cppu::ImplementationEntry::nFlags
sal_Int32 nFlags
Must be set to 0 ! For future extensions.
Definition: implementationentry.hxx:76
sal_Bool
unsigned char sal_Bool
Definition: types.h:46
cppu::component_writeInfoHelper
CPPUHELPER_DLLPUBLIC sal_Bool component_writeInfoHelper(void *pServiceManager, void *pRegistryKey, const struct ImplementationEntry entries[])
Helper function for implementation of the component_writeInfo()-function.
cppu::component_getFactoryHelper
CPPUHELPER_DLLPUBLIC void * component_getFactoryHelper(const sal_Char *pImplName, void *pServiceManager, void *pRegistryKey, const struct ImplementationEntry entries[])
Helper function for implementation of the component_getFactory()-function, that must be implemented b...
cppu::ImplementationEntry::getImplementationName
rtl::OUString MY_FN_PTR() getImplementationName()
Function that returns the implementation-name of the implementation (same as XServiceInfo.getImplementationName() ).
com::sun::star::uno::Sequence
Template C++ class representing an IDL sequence.
Definition: unotype.hxx:33
cppu::ImplementationEntry::getSupportedServiceNames
com::sun::star::uno::Sequence< rtl::OUString > MY_FN_PTR() getSupportedServiceNames()
Function that returns all supported servicenames of the implementation ( same as XServiceInfo.getSupportedServiceNames() ).
_rtl_ModuleCount
Backwards-compatibility remainder of a removed library unloading feature.
Definition: unload.h:42
sal_Char
char sal_Char
A legacy synonym for char.
Definition: types.h:128
cppu::ImplementationEntry::moduleCounter
rtl_ModuleCount * moduleCounter
Backwards-compatibility remainder of a removed library unloading feature; always set to null...
Definition: implementationentry.hxx:71
cppu
Definition: Enterable.hxx:26
cppu::ImplementationEntry::createFactory
::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > MY_FN_PTR() createFactory(ComponentFactoryFunc fptr,::rtl::OUString const &rImplementationName,::com::sun::star::uno::Sequence< ::rtl::OUString > const &rServiceNames, rtl_ModuleCount *pModCount)
Function that creates a SingleComponentFactory.
com::sun::star::uno::Reference
Template reference class for interface type derived from BaseReference.
Definition: unotype.hxx:32
MY_FN_PTR
#define MY_FN_PTR(name)
Definition: implementationentry.hxx:32
CPPUHELPER_DLLPUBLIC
#define CPPUHELPER_DLLPUBLIC
Definition: cppuhelperdllapi.h:28
rtl::OUString
This String class provides base functionality for C++ like Unicode character array handling...
Definition: ustring.hxx:82
factory.hxx
cppu::ImplementationEntry
One struct instance represents all data necessary for registering one service implementation.
Definition: implementationentry.hxx:40
cppuhelperdllapi.h