LibreOffice
LibreOffice 24.2 SDK API Reference
|
an interface to map between strings and ids More...
import"XAtomServer.idl";
Public Member Functions | |
sequence< AtomDescription > | getClass ([in] long atomClass) |
returns a whole atom class More... | |
sequence< sequence< AtomDescription > > | getClasses ([in] sequence< long > atomClasses) |
returns multiple atom classes More... | |
sequence< string > | getAtomDescriptions ([in] sequence< AtomClassRequest > atoms) |
returns the strings for an arbitrary amount of atoms of multiple classes More... | |
sequence< AtomDescription > | getRecentAtoms ([in] long atomClass, [in] long atom) |
returns the atoms that have been registered to a class after an already known atom More... | |
long | getAtom ([in] long atomClass, [in] string description, [in] boolean create) |
registers or searches for a string More... | |
Public Member Functions inherited from XInterface | |
any | queryInterface ([in] type aType) |
queries for a new interface to an existing UNO object. More... | |
void | acquire () |
increases the reference counter by one. More... | |
void | release () |
decreases the reference counter by one. More... | |
an interface to map between strings and ids
a note on atoms:
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
Additionally there is the abstraction of atom class:
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.
long getAtom | ( | [in] long | atomClass, |
[in] string | description, | ||
[in] boolean | create | ||
) |
registers or searches for a string
atomClass | the class of atoms in question |
description | the string in question |
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 |
description
sequence< string > getAtomDescriptions | ( | [in] sequence< AtomClassRequest > | atoms | ) |
returns the strings for an arbitrary amount of atoms of multiple classes
atoms | describes which strings to return |
sequence< AtomDescription > getClass | ( | [in] long | atomClass | ) |
returns a whole atom class
atomClass | which class to return |
atomClass
sequence< sequence< AtomDescription > > getClasses | ( | [in] sequence< long > | atomClasses | ) |
returns multiple atom classes
atomClasses | which classes to return |
sequence< AtomDescription > getRecentAtoms | ( | [in] long | atomClass, |
[in] long | atom | ||
) |
returns the atoms that have been registered to a class after an already known atom
Hint to implementor: using ascending atoms is the easiest way to decide, which atoms are recent.
atomClass | the class in question |
atom | the last known atom |
atomClass
after atom