Difference between revisions of "Documentation/DevGuide/WritingUNO/C++/Storing the Service Manager for Further Use"
From Apache OpenOffice Wiki
< Documentation | DevGuide
m (1 revision(s)) |
m |
||
Line 7: | Line 7: | ||
{{DISPLAYTITLE:Storing the Service Manager for Further Use}} | {{DISPLAYTITLE:Storing the Service Manager for Further Use}} | ||
The single factories expect a static <code>create_< ''ImplementationClass>'' ()</code> function. For instance, <code>create_MyService1Impl()</code> takes a reference to the component context and instantiates the implementation class using new <code>ImplementationClass()</code>. A constructor can be written for <code><ImplementationClass></code> that expects a reference to an <idl>com.sun.star.uno.XComponentContext</idl> and stores the reference in the instance for further use. | The single factories expect a static <code>create_< ''ImplementationClass>'' ()</code> function. For instance, <code>create_MyService1Impl()</code> takes a reference to the component context and instantiates the implementation class using new <code>ImplementationClass()</code>. A constructor can be written for <code><ImplementationClass></code> that expects a reference to an <idl>com.sun.star.uno.XComponentContext</idl> and stores the reference in the instance for further use. | ||
− | + | <source lang="cpp"> | |
static Reference< XInterface > SAL_CALL create_MyService2Impl( | static Reference< XInterface > SAL_CALL create_MyService2Impl( | ||
Reference< XComponentContext > const & xContext ) | Reference< XComponentContext > const & xContext ) | ||
Line 15: | Line 15: | ||
return static_cast< lang::XTypeProvider * >( new MyService2Impl( xContext ) ); | return static_cast< lang::XTypeProvider * >( new MyService2Impl( xContext ) ); | ||
} | } | ||
− | + | </source> | |
{{PDL1}} | {{PDL1}} | ||
[[Category: Writing UNO Components]] | [[Category: Writing UNO Components]] |
Revision as of 22:51, 22 March 2008
- Class Definition with Helper Template Classes
- Implementing your own Interfaces
- Providing a Single Factory Using a Helper Method
- Write Registration Info Using a Helper Method
- Provide Implementation Environment
- Implementing without Helpers
- Storing the Service Manager for Further Use
- Create Instance with Arguments
- Multiple Components in One Dynamic Link Library
- Building and Testing C++ Components
The single factories expect a static create_< ImplementationClass> ()
function. For instance, create_MyService1Impl()
takes a reference to the component context and instantiates the implementation class using new ImplementationClass()
. A constructor can be written for <ImplementationClass>
that expects a reference to an com.sun.star.uno.XComponentContext and stores the reference in the instance for further use.
static Reference< XInterface > SAL_CALL create_MyService2Impl( Reference< XComponentContext > const & xContext ) SAL_THROW( () ) { // passing the component context to the constructor of MyService2Impl return static_cast< lang::XTypeProvider * >( new MyService2Impl( xContext ) ); }
Content on this page is licensed under the Public Documentation License (PDL). |