forked from amazingfate/loongoffice
linecap: Reintegrating finished LineCap feature
Work contributed by Regina Henschel
http://svn.apache.org/viewvc?view=revision&revision=1232507
i118815 - Deprecate service due to removed implementation
Patch contributed by Ariel Constenla-Haile
http://svn.apache.org/viewvc?view=revision&revision=1233320
i118814 - Allow set timeout in Mail API
Patch contributed by Ariel Constenla-Haile
http://svn.apache.org/viewvc?view=revision&revision=1235679
included in the Apache baseline:
dr80: #i117511# remove some assertions in xlsx/xlsb import filters
Patch contributed by Daniel Rentz
131 lines
4.1 KiB
Plaintext
131 lines
4.1 KiB
Plaintext
/* -*- 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 .
|
|
*/
|
|
#ifndef __com_sun_star_util_XAtomServer_idl__
|
|
#define __com_sun_star_util_XAtomServer_idl__
|
|
|
|
#include <com/sun/star/uno/XInterface.idl>
|
|
#include <com/sun/star/util/AtomDescription.idl>
|
|
#include <com/sun/star/util/AtomClassRequest.idl>
|
|
|
|
|
|
module com
|
|
{
|
|
module sun
|
|
{
|
|
module star
|
|
{
|
|
module util
|
|
{
|
|
|
|
/** an interface to map between <i>string</i>s and <i>id</i>s
|
|
|
|
<p>a note on atoms:<br>
|
|
Atoms are abbreviations for strings.
|
|
When a string gets registered, it is assigned a numeric id
|
|
so that said string can always be referred to by this id.
|
|
This way strings have to be transported only once over remote connections.
|
|
Valid ids are (in this implementation) non zero, signed 32 bit values.
|
|
An atom of 0 means that the string in question is not registered</p>
|
|
|
|
<p>Additionally there is the abstraction of atom class:<br>
|
|
Atoms are grouped into classes, so that an id can be assigned
|
|
to multiple strings, depending on the class context. The main
|
|
advantage of this is that atoms in one class may be kept
|
|
to small numbers, so that bandwidth can be reduced by sending
|
|
the atoms only as 16 bit values. Note that it is up to the user in this
|
|
case to handle overflows.</p>
|
|
*/
|
|
|
|
published interface XAtomServer : com::sun::star::uno::XInterface
|
|
{
|
|
/** returns a whole atom class
|
|
|
|
@param atomClass
|
|
which class to return
|
|
|
|
@returns
|
|
the descriptions for all atoms of class <code>atomClass</code>
|
|
*/
|
|
sequence< AtomDescription > getClass( [in] long atomClass );
|
|
/** returns multiple atom classes
|
|
|
|
@param atomClasses
|
|
which classes to return
|
|
|
|
@returns
|
|
the descriptions for all atoms of the requested classes
|
|
*/
|
|
sequence< sequence< AtomDescription > > getClasses( [in] sequence< long > atomClasses );
|
|
/** returns the strings for an arbitrary amount of atoms of multiple classes
|
|
|
|
@param atoms
|
|
describes which strings to return
|
|
|
|
@returns
|
|
the strings for the requested atoms
|
|
*/
|
|
sequence< string > getAtomDescriptions( [in] sequence< AtomClassRequest > atoms );
|
|
|
|
/** returns the atoms that have been registered to a class after an
|
|
already known atom
|
|
|
|
<p>Hint to implementor: using ascending atoms is the easiest way
|
|
to decide, which atoms are recent.</p>
|
|
|
|
@param atomClass
|
|
the class in question
|
|
|
|
@param atom
|
|
the last known atom
|
|
|
|
@returns
|
|
all atom description that have been added to class
|
|
<code>atomClass</code> after <code>atom</code>
|
|
*/
|
|
sequence< AtomDescription > getRecentAtoms( [in] long atomClass, [in] long atom );
|
|
|
|
/** registers or searches for a string
|
|
|
|
@param atomClass
|
|
the class of atoms in question
|
|
|
|
@param description
|
|
the string in question
|
|
|
|
@param create
|
|
if true a new atom will be created for an unknown string
|
|
else the invalid atom (0) will be returned for an unknown string
|
|
|
|
@returns
|
|
the atom for the string <code>description</code>
|
|
*/
|
|
long getAtom( [in] long atomClass, [in] string description, [in] boolean create );
|
|
};
|
|
|
|
|
|
}; // module util
|
|
}; // module star
|
|
}; // module sun
|
|
}; // module com
|
|
|
|
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|