1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XStorageBasedDocument.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_embed_XStorageBasedDocument_idl__
31 #define __com_sun_star_embed_XStorageBasedDocument_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include
<com
/sun
/star
/uno
/XInterface.idl
>
37 #ifndef __com_sun_star_embed_XStorage_idl__
38 #include
<com
/sun
/star
/embed
/XStorage.idl
>
41 #ifndef __com_sun_star_io_IOException_idl__
42 #include
<com
/sun
/star
/io
/IOException.idl
>
45 #ifndef __com_sun_star_frame_DoubleInitializationException_idl__
46 #include
<com
/sun
/star
/frame
/DoubleInitializationException.idl
>
49 #ifndef __com_sun_star_document_XStorageChangeListener_idl__
50 #include
<com
/sun
/star
/document
/XStorageChangeListener.idl
>
53 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
54 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
57 #ifndef __com_sun_star_beans_PropertyValue_idl__
58 #include
<com
/sun
/star
/beans
/PropertyValue.idl
>
61 //============================================================================
63 module com
{ module sun
{ module star
{ module document
{
65 //============================================================================
66 /** allows to initialize document with a storage, to store document to
67 a storage, and to set document to be based on provided storage.
69 interface XStorageBasedDocument
: com
::sun
::star
::uno
::XInterface
71 //------------------------------------------------------------------------
72 /** lets the document load itself using provided storage.
75 [in] ::com
::sun
::star
::embed
::XStorage xStorage
,
76 [in] sequence
< ::com
::sun
::star
::beans
::PropertyValue
> aMediaDescriptor
)
77 raises
( ::com
::sun
::star
::lang
::IllegalArgumentException
,
78 ::com
::sun
::star
::frame
::DoubleInitializationException
,
79 ::com
::sun
::star
::io
::IOException
,
80 ::com
::sun
::star
::uno
::Exception
);
82 //------------------------------------------------------------------------
83 /** lets the document store itself to the provided storage.
86 [in] ::com
::sun
::star
::embed
::XStorage xStorage
,
87 [in] sequence
< ::com
::sun
::star
::beans
::PropertyValue
> aMediaDescriptor
)
88 raises
( ::com
::sun
::star
::lang
::IllegalArgumentException
,
89 ::com
::sun
::star
::io
::IOException
,
90 ::com
::sun
::star
::uno
::Exception
);
92 //------------------------------------------------------------------------
93 /** allows to switch the document to the provided storage.
95 void switchToStorage
( [in] ::com
::sun
::star
::embed
::XStorage xStorage
)
96 raises
( ::com
::sun
::star
::lang
::IllegalArgumentException
,
97 ::com
::sun
::star
::io
::IOException
,
98 ::com
::sun
::star
::uno
::Exception
);
101 //------------------------------------------------------------------------
102 /** allows to get the storage the document is based on.
104 ::com
::sun
::star
::embed
::XStorage getDocumentStorage
()
105 raises
( ::com
::sun
::star
::io
::IOException
,
106 ::com
::sun
::star
::uno
::Exception
);
108 //------------------------------------------------------------------------
109 /** allows to register a listener that will be notified when another
110 storage is set to the document.
112 void addStorageChangeListener
( [in] XStorageChangeListener xListener
);
114 //------------------------------------------------------------------------
115 /** allows to deregister the listener.
117 void removeStorageChangeListener
( [in] XStorageChangeListener xListener
);
121 //============================================================================