summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/embed/XEmbedObjectFactory.idl
blob: f5b73f1d3dc3cc669cf819ffbffcac76ce3b9268 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_embed_XEmbedObjectFactory_idl__
#define __com_sun_star_embed_XEmbedObjectFactory_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif

#ifndef __com_sun_star_embed_XStorage_idl__
#include <com/sun/star/embed/XStorage.idl>
#endif

#ifndef __com_sun_star_io_IOException_idl__
#include <com/sun/star/io/IOException.idl>
#endif

#ifndef __com_sun_star_embed_WrongStateException_idl__
#include <com/sun/star/embed/WrongStateException.idl>
#endif

#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
#include <com/sun/star/lang/IllegalArgumentException.idl>
#endif

#ifndef __com_sun_star_beans_PropertyValue_idl__
#include <com/sun/star/beans/PropertyValue.idl>
#endif

//============================================================================

 module com {  module sun {  module star {  module embed {

//============================================================================
/** allows to create and initialize a new embedded object of specified type.
    <p>
    This interface provides user with full control over object creation.
    </p>
 */
interface XEmbedObjectFactory: com::sun::star::uno::XInterface
{
    //------------------------------------------------------------------------
    /** creates a new object and transport parameters for persistent
        initialization.

        <p>
        This method can be used to have a full control over persistence
        initialization of a object.
        </p>

        <p>
        If the service implementation does not support
        <type>XEmbedObjectCreator</type> interface, it must accept the empty
        aClassID parameter in case of loading from existing entry.
        </p>

        @param aClassID
            the class id of the new object

        @param sClassName
            the class name of the new object

        @param xStorage
            a parent storage the entry should be created/opened in

        @param sEntName
            a name for the entry

        @param nEntryConnectionMode
            a mode in which the object should be initialized from entry
            can take values from <type>EntryInitModes</type> constant set

        @param aArgs
            optional parameters for the embedded document persistence
            initialization, see also
            <type scope="com::sun::star::document">MediaDescriptor</type>

        @param aObjectArgs
            optional parameters for the object persistence initialization,
            see also
            <type scope="com::sun::star::embed">EmbeddedObjectDescriptor</type>

        @thrown ::com::sun::star::lang::IllegalArgumentException
            one of arguments is illegal

        @throws com::sun::star::io::IOException
            in case of io problems during opening\creation

        @throws com::sun::star::uno::Exception
            in case of other problems
     */
    ::com::sun::star::uno::XInterface createInstanceUserInit(
            [in] sequence< byte > aClassID,
            [in] string sClassName,
            [in] ::com::sun::star::embed::XStorage xStorage,
            [in] string sEntName,
            [in] long nEntryConnectionMode,
            [in] sequence< ::com::sun::star::beans::PropertyValue > aArgs,
            [in] sequence< ::com::sun::star::beans::PropertyValue > aObjectArgs )
        raises( ::com::sun::star::lang::IllegalArgumentException,
                ::com::sun::star::io::IOException,
                ::com::sun::star::uno::Exception );
};

//============================================================================

}; }; }; };

#endif