merged tag ooo/OOO330_m14
[LibreOffice.git] / offapi / com / sun / star / embed / XEmbedObjectFactory.idl
blob67a355054c485daaf3619c4f89fdb443076194a0
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>
32 #endif
34 #ifndef __com_sun_star_embed_XStorage_idl__
35 #include <com/sun/star/embed/XStorage.idl>
36 #endif
38 #ifndef __com_sun_star_io_IOException_idl__
39 #include <com/sun/star/io/IOException.idl>
40 #endif
42 #ifndef __com_sun_star_embed_WrongStateException_idl__
43 #include <com/sun/star/embed/WrongStateException.idl>
44 #endif
46 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
47 #include <com/sun/star/lang/IllegalArgumentException.idl>
48 #endif
50 #ifndef __com_sun_star_beans_PropertyValue_idl__
51 #include <com/sun/star/beans/PropertyValue.idl>
52 #endif
54 //============================================================================
56 module com { module sun { module star { module embed {
58 //============================================================================
59 /** allows to create and initialize a new embedded object of specified type.
60 <p>
61 This interface provides user with full control over object creation.
62 </p>
64 published interface XEmbedObjectFactory: com::sun::star::uno::XInterface
66 //------------------------------------------------------------------------
67 /** creates a new object and transport parameters for persistent
68 initialization.
70 <p>
71 This method can be used to have a full control over persistence
72 initialization of a object.
73 </p>
75 <p>
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.
79 </p>
81 @param aClassID
82 the class id of the new object
84 @param sClassName
85 the class name of the new object
87 @param xStorage
88 a parent storage the entry should be created/opened in
90 @param sEntName
91 a name for the entry
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
97 @param aArgs
98 optional parameters for the embedded document persistence
99 initialization, see also
100 <type scope="com::sun::star::document">MediaDescriptor</type>
102 @param aObjectArgs
103 optional parameters for the object persistence initialization,
104 see also
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 //============================================================================
131 }; }; }; };
133 #endif