blob: 8352b8e586598d67255332a014a2d641f2e3599c [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
//i20156 - new file for xmlsecurity module
/** -- idl definition -- **/
#ifndef __com_sun_star_xml_crypto_sax_xelementstackkeeper_idl_
#define __com_sun_star_xml_crypto_sax_xelementstackkeeper_idl_
#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/uno/Exception.idl>
#include <com/sun/star/xml/sax/XDocumentHandler.idl>
module com { module sun { module star { module xml { module crypto { module sax {
/**
* A struct to keep a startElement/endElement SAX event.
*/
struct ElementStackItem
{
/**
* whether it is a startElement event
*/
boolean isStartElementEvent;
/**
* the name of the element
*/
string elementName;
/**
* attribute list for a startElement event
*/
com::sun::star::xml::sax::XAttributeList xAttributes;
};
/**
* Manipulate the "key SAX events" in a SAX event stream.
*
* @see XSecController
*/
interface XElementStackKeeper : com::sun::star::uno::XInterface
{
/**
* Starts to buffer key SAX events.
*/
void start();
/**
* Stops buffering key SAX events.
*/
void stop();
/**
* Transfers the bufferred key SAX events to a document handler.
* <p>
* All transferred events are removed from the buffer.
*
* @param handler the document to receive key SAX events
* @param includingTheLastEvent whether to transfer the last key SAX event
*/
void retrieve( [in] com::sun::star::xml::sax::XDocumentHandler handler, [in] boolean includingTheLastEvent);
};
} ; } ; } ; } ; } ; } ;
#endif