1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
27 #ifndef __com_sun_star_embed_XEmbedObjectFactory_idl__
28 #define __com_sun_star_embed_XEmbedObjectFactory_idl__
30 #ifndef __com_sun_star_uno_XInterface_idl__
31 #include
<com
/sun
/star
/uno
/XInterface.idl
>
34 #ifndef __com_sun_star_embed_XStorage_idl__
35 #include
<com
/sun
/star
/embed
/XStorage.idl
>
38 #ifndef __com_sun_star_io_IOException_idl__
39 #include
<com
/sun
/star
/io
/IOException.idl
>
42 #ifndef __com_sun_star_embed_WrongStateException_idl__
43 #include
<com
/sun
/star
/embed
/WrongStateException.idl
>
46 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
47 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
50 #ifndef __com_sun_star_beans_PropertyValue_idl__
51 #include
<com
/sun
/star
/beans
/PropertyValue.idl
>
54 //============================================================================
56 module com
{ module sun
{ module star
{ module embed
{
58 //============================================================================
59 /** allows to create and initialize a new embedded object of specified type.
61 This interface provides user with full control over object creation.
64 published
interface XEmbedObjectFactory
: com
::sun
::star
::uno
::XInterface
66 //------------------------------------------------------------------------
67 /** creates a new object and transport parameters for persistent
71 This method can be used to have a full control over persistence
72 initialization of a object.
76 If the service implementation does not support
77 <type>XEmbedObjectCreator</type> interface, it must accept the empty
78 aClassID parameter in case of loading from existing entry.
82 the class id of the new object
85 the class name of the new object
88 a parent storage the entry should be created/opened in
93 @param nEntryConnectionMode
94 a mode in which the object should be initialized from entry
95 can take values from <type>EntryInitModes</type> constant set
98 optional parameters for the embedded document persistence
99 initialization, see also
100 <type scope="com::sun::star::document">MediaDescriptor</type>
103 optional parameters for the object persistence initialization,
105 <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>
107 @thrown ::com::sun::star::lang::IllegalArgumentException
108 one of arguments is illegal
110 @throws com::sun::star::io::IOException
111 in case of io problems during opening\creation
113 @throws com::sun::star::uno::Exception
114 in case of other problems
116 ::com
::sun
::star
::uno
::XInterface createInstanceUserInit
(
117 [in] sequence
< byte > aClassID
,
118 [in] string sClassName
,
119 [in] ::com
::sun
::star
::embed
::XStorage xStorage
,
120 [in] string sEntName
,
121 [in] long nEntryConnectionMode
,
122 [in] sequence
< ::com
::sun
::star
::beans
::PropertyValue
> aArgs
,
123 [in] sequence
< ::com
::sun
::star
::beans
::PropertyValue
> aObjectArgs
)
124 raises
( ::com
::sun
::star
::lang
::IllegalArgumentException
,
125 ::com
::sun
::star
::io
::IOException
,
126 ::com
::sun
::star
::uno
::Exception
);
129 //============================================================================