222 lines
8.5 KiB
Text
222 lines
8.5 KiB
Text
/* -*- 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 resource {
|
|
|
|
/**
|
|
Interface derived from XStringResourceManager containing
|
|
basic persistence functionality limited to operations that
|
|
are independent from an associated location or storage.
|
|
|
|
@see XStringResourceManager.
|
|
*/
|
|
interface XStringResourcePersistence: com::sun::star::resource::XStringResourceManager
|
|
{
|
|
/**
|
|
Stores all string table data respectively all data modified since
|
|
the last call to store() to the location or storage
|
|
associated with the StringResourceManager. Each locale is stored
|
|
in a single file following the format of Java properties files.
|
|
|
|
This interface is supported by the services
|
|
StringResourceWithLocation and
|
|
StringResourceWithStorage
|
|
|
|
The StringResourceWithLocation is initialized with a URL
|
|
specifying a location used to load data from and store data to,
|
|
see StringResourceWithLocation.
|
|
|
|
The StringResourceWithStorage is initialized with an instance
|
|
of com::sun::star::embed::XStorage
|
|
used to load data from and store data to,
|
|
see StringResourceWithStorage.
|
|
|
|
If the string table isn't modified (see isModified())
|
|
this method does nothing.
|
|
|
|
This method can throw all exceptions thrown by the methods of
|
|
com::sun::star::embed::XStorage respectively
|
|
a com::sun::star::ucb::CommandAbortedException in
|
|
case of a StringResourceWithLocation for all exceptions that are
|
|
not handled by a previously specified
|
|
com::sun::star::task::XInteractionHandler.
|
|
The handler to be used for the store operation can be specified
|
|
during initialization of StringResourceWithLocation.
|
|
|
|
@throws com::sun::star::lang::NoSupportException
|
|
if no URL or no valid storage are provided.
|
|
*/
|
|
void store()
|
|
raises( com::sun::star::lang::NoSupportException,
|
|
com::sun::star::uno::Exception );
|
|
|
|
|
|
/**
|
|
provides the current modify state of the StringResourceManager instance.
|
|
|
|
@return
|
|
`TRUE` if the string table has changed since the last call to
|
|
store() or, if supported
|
|
<code>XStringResourceWithStorage::storeAsStorage</code>.
|
|
`FALSE` if the table hasn't changed.
|
|
*/
|
|
boolean isModified();
|
|
|
|
|
|
/**
|
|
Sets the comment stored first in each locale data file.
|
|
|
|
This interface method can be used to overwrite the comment used
|
|
during initialization of the services
|
|
StringResourceWithLocation or
|
|
StringResourceWithStorage
|
|
|
|
@param Comment
|
|
Comment stored first in each properties file followed by a line
|
|
feed character. The line feed character is added automatically
|
|
and hasn't to be part of the comment string. The caller is
|
|
responsible that the passed string is a valid comment in a Java
|
|
properties file, e.g. "# My strings". The string may be empty.
|
|
*/
|
|
void setComment( [in] string Comment );
|
|
|
|
|
|
/**
|
|
Stores all string table data to the provided storage.
|
|
|
|
Calling this method does not affect the association with a location
|
|
(in case of a StringResourceWithLocation instance)
|
|
respectively with a storage (in case of a
|
|
StringResourceWithStorage instance).
|
|
The modified state isn't affected either.
|
|
|
|
This method can be used to make a copy of the current string
|
|
table data to a storage. This method can throw all exceptions
|
|
thrown by the methods of com::sun::star::embed::XStorage
|
|
|
|
@param Storage
|
|
all string table data will be stored to this storage.
|
|
|
|
@param BaseName
|
|
Base string for the file names used to store the locale data.
|
|
The locale data is stored in Java properties files also following
|
|
the corresponding naming scheme. The files will be named like this:
|
|
"[BaseName]_[Language]_[Country].properties",
|
|
e.g. "MyBaseName_en_US.properties"
|
|
If an empty string is passed for BaseName, "strings" will be used
|
|
as BaseName.
|
|
|
|
@param Comment
|
|
Comment stored first in each properties file,
|
|
for a detailed description see setComment().
|
|
|
|
This method can throw all exceptions thrown by the methods of
|
|
com::sun::star::embed::XStorage
|
|
*/
|
|
void storeToStorage( [in] ::com::sun::star::embed::XStorage Storage,
|
|
[in] string BaseName, [in] string Comment )
|
|
raises ( com::sun::star::uno::Exception );
|
|
|
|
|
|
/**
|
|
Stores all string table data to the location specified by the
|
|
passed URL string.
|
|
|
|
Calling this method does not affect the association with a location
|
|
(in case of a StringResourceWithLocation instance)
|
|
respectively with a storage (in case of a
|
|
StringResourceWithStorage instance).
|
|
The modified state isn't affected either.
|
|
|
|
This method can be used to make a copy of the current string
|
|
table data to a location.
|
|
|
|
@param URL
|
|
the location the string table data should be stored to.
|
|
|
|
@param BaseName
|
|
Base string for the file names used to store the locale data.
|
|
The locale data is stored in Java properties files also following
|
|
the corresponding naming scheme. The files will be named like this:
|
|
"[BaseName]_[Language]_[Country].properties",
|
|
e.g. "MyBaseName_en_US.properties"
|
|
If an empty string is passed for BaseName, "strings" will be used
|
|
as BaseName.
|
|
|
|
@param Comment
|
|
Comment stored first in each properties file,
|
|
for a detailed description see setComment().
|
|
|
|
@param Handler
|
|
a com::sun::star::task::XInteractionHandler.
|
|
It will be passed to ucb handle exceptions. Exceptions not processed
|
|
by this handler will be passed as com::sun::star::uno::Exception. If
|
|
this parameter is null this applies to all exceptions thrown by ucb.
|
|
|
|
@see com::sun::star::task::InteractionHandler
|
|
*/
|
|
void storeToURL( [in] string URL, [in] string BaseName, [in] string Comment,
|
|
[in] com::sun::star::task::XInteractionHandler Handler )
|
|
raises( com::sun::star::uno::Exception );
|
|
|
|
|
|
/**
|
|
Returns a sequence of byte representing the complete string resource
|
|
in a binary format.
|
|
|
|
This method is intended to support datatransfer functionality, e.g. provided
|
|
by com::sun::star::datatransfer::XTransferable and
|
|
related interfaces.
|
|
|
|
See importBinary()).
|
|
|
|
@return a sequence of byte representing the string resource.
|
|
*/
|
|
sequence<byte> exportBinary();
|
|
|
|
|
|
/**
|
|
Initializes the string resource with binary data. This method
|
|
expects the data format returned by exportBinary().
|
|
|
|
All locales and strings previously added to the string resource
|
|
will be deleted. So after calling this method the string resource
|
|
only contains the locales and strings specified in the binary data.
|
|
|
|
This method is intended to support datatransfer functionality, e.g. provided
|
|
by com::sun::star::datatransfer::XTransferable and
|
|
related interfaces.
|
|
|
|
See importBinary()).
|
|
|
|
@throws com::sun::star::lang::IllegalArgumentException
|
|
if Data is empty or does not meet the binary format returned by
|
|
the current or earlier version of exportBinary()).
|
|
*/
|
|
void importBinary( [in] sequence<byte> Data )
|
|
raises ( com::sun::star::lang::IllegalArgumentException );
|
|
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|