tdf#130857 qt weld: Implement QtInstanceWidget::strip_mnemonic
[LibreOffice.git] / offapi / com / sun / star / xml / crypto / sax / XSAXEventKeeper.idl
blob52390c6666f87ecf4125271ac061ac6628d92d8b
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 module com { module sun { module star { module xml { module crypto { module sax {
22 /**
23 * Interface of SAX Event Keeper.
24 * <p>
25 * This interface is used to manipulate element marks in a SAX event stream.
26 * <p>
27 * There are two kinds of element mark, one is element collector, which is
28 * used to collect a particular element from the SAX event stream; the other
29 * is blocker, which is used to block the SAX event stream.
31 interface XSAXEventKeeper : com::sun::star::uno::XInterface
33 /**
34 * Adds a new element collector on the next element in the SAX event
35 * stream.
37 * @return the keeper id of the new element collector
39 long addElementCollector();
41 /**
42 * Removes an element collector.
44 * @param id the keeper id of the element collector to be removed
46 void removeElementCollector([in] long id);
48 /**
49 * Adds a new blocker on the next element in the SAX event stream.
50 * <p>
51 * No SAX event starting from the next element will be forwarded until
52 * this blocker is removed.
54 * @return the keeper id of the new blocker
56 long addBlocker();
58 /**
59 * Removes a blocker
61 * @param id the keeper id of the blocker to be removed
63 void removeBlocker([in] long id);
65 /**
66 * Checks whether the SAX event stream is blocking.
68 * @return <code>true</code> if blocking, <code>false</code> otherwise
70 boolean isBlocking();
72 /**
73 * Gets the element of an element mark.
75 * @param id the keeper id of the element mark, it can be an element
76 * collector or a blocker
78 com::sun::star::xml::wrapper::XXMLElementWrapper getElement([in] long id);
80 /**
81 * Sets the element of an element mark.
82 * <p>
83 * When an element is replaced outside of this interface, then uses this method
84 * can restore the link between an element mark and its working element.
86 * @param id the keeper id of the element mark to be set
87 * @param aElement the new element for this element mark.
89 void setElement(
90 [in] long id,
91 [in] com::sun::star::xml::wrapper::XXMLElementWrapper aElement);
93 /**
94 * Sets the next document handler in the SAX chain.
95 * <p>
96 * This handler will receive SAX events forwarded by the SAXEventKeeper.
98 * @param nextHandler the next handler in the SAX chain
99 * @return the old next handler
101 com::sun::star::xml::sax::XDocumentHandler setNextHandler(
102 [in] com::sun::star::xml::sax::XDocumentHandler nextHandler);
105 * Prints information about all buffered elements.
107 * @return a tree-style string including all buffer information
109 string printBufferNodeTree();
112 * Gets the element which current blocking happens.
113 * <p>
114 * This element is the working element of the first blocker in tree order.
116 * @return the current blocking element
118 com::sun::star::xml::wrapper::XXMLElementWrapper getCurrentBlockingNode();
121 } ; } ; } ; } ; } ; } ;
123 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */