/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module document {
/** is the interface to be implemented by documents who wish to participate in
the document emergency - save / recovery process .
*/
interface XDocumentRecovery
{
/** determines whether the document has been modified since the last call to storeToRecoveryFile().
< p > If < code > storeToRecoveryFile < / code > has not been called before , this method returns whether the document
has been modified since it has been loaded respectively created . < / p >
< p > When saving a session , either in case of an emergency ( when OpenOffice . org crashed ) , or during a
periodic session save as configured by the user , storeToRecoveryFile ( ) is called for every
document where < code > wasModifiedSinceLastSave < / code > returns ` TRUE ` . < / p >
< p > It ' s allowed to implement this method sloppy , by returning ` TRUE ` in cases where it is not sure whether
the document actually has been modified . So , the most simple implementation could simply delegate this call
to com : : sun : : star : : util : : XModifiable : : isModified ( ) . ( Well , actually that ' s the
second simple implementation , the < em > most < / em > simple one would , still legitimately , always return ` TRUE ` . ) < / p >
< p > However , in such a case , the document might be saved more often than needed . In particular during the
periodic session save , this might become a problem when saving is expensive , for a single document
or the sum of all open documents . < / p >
*/
boolean wasModifiedSinceLastSave();
/** does an emergency save of the document
< p > A default implementation of this method could simply delegate this call to
com : : sun : : star : : frame : : XStorable : : storeToURL ( ) . < / p >
@ param TargetLocation
specifies the URL of the location to which the document should be emergency - saved .
@ param MediaDescriptor
contains additional arguments for the save process , for instance a StatusIndicator .
@ see MediaDescriptor
*/
void storeToRecoveryFile(
[in] string TargetLocation,
[in] sequence< ::com::sun::star::beans::PropertyValue > MediaDescriptor
)
raises ( ::com::sun::star::io::IOException,
::com::sun::star::lang::WrappedTargetException
);
/** recovers the document after a previous emergency or session save.
< p > The document itself has previously been created , but < em > not < / em > loaded
( via com : : sun : : star : : frame : : XLoadable : : load ( ) ) or initialized ( via
com : : sun : : star : : frame : : XLoadable : : initNew ( ) ) . < / p >
< p > Upon successful return , the document must be fully initialized . In particular , the
caller is not responsible for calling com : : sun : : star : : frame : : XModel : : attachResource ( ) .
Instead , the implementation is responsible to do so , if required . < / p >
< p > A default implementation of this method could simply delegate this call to
: : com : : sun : : star : : frame : : XLoadable : : load ( ) , followed by
com : : sun : : star : : frame : : XModel : : attachResource ( ) . < / p >
@ param SourceLocation
specifies the URL of the location to which the document was previously emergency - saved .
@ param SalvagedFile
specifies the original URL of the file which had been emergency - saved . If this is empty ,
then the file should be recovered from its original location .
@ param MediaDescriptor
contains additional arguments for the load process , for instance a StatusIndicator .
@ see MediaDescriptor
*/
void recoverFromFile(
[in] string SourceLocation,
[in] string SalvagedFile,
[in] sequence< ::com::sun::star::beans::PropertyValue > MediaDescriptor
)
raises ( ::com::sun::star::io::IOException,
::com::sun::star::lang::WrappedTargetException
);
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=92 H=97 G=94
¤ Dauer der Verarbeitung: 0.9 Sekunden
¤
*© Formatika GbR, Deutschland