blob: 3a5b64ffdace279c4860aa3f5ea90c76de57af9e [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_xsecuritysaxeventkeeper_idl_
#define __com_sun_star_xml_crypto_sax_xsecuritysaxeventkeeper_idl_
#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/uno/Exception.idl>
#include <com/sun/star/xml/crypto/sax/XSAXEventKeeper.idl>
module com { module sun { module star { module xml { module crypto { module sax {
/**
* Represents the undefined security id
*/
constants ConstOfSecurityId
{
const long UNDEFINEDSECURITYID = -1;
};
/**
* Defines priority for the element mark's notification.
* <p>
* The PRI_MINIMUM priority is a value less than any practical
* priority value, it is used when compare between different
* priority values.
* <p>
* The PRI_AFTERMODIFY priority represents the notification will be
* sent after any internal modification has finished.
* <p>
* The PRI_BEFOREMODIFY proirity represents the notification will be
* sent before any internal modification happens.
* <p>
* So an element mark with PRI_BEFOREMODIFY will be handled first,
* and one with PRI_AFTERMODIFY will be handled at last.
*/
enum ElementMarkPriority
{
MINIMUM = 1,
AFTERMODIFY,
BEFOREMODIFY
};
/**
* Defines types of element mark.
* <p>
* the TYPEOFELEMENTMARK type represents a blocker, and the TYPEOFELEMENTCOLLECTOR
* type represents a element collector.
*/
enum ElementMarkType
{
ELEMENTMARK = 1,
ELEMENTCOLLECTOR
};
/**
* Interface of Security SAX Event Keeper.
* <p>
* This interface is an extension of the XSAXEventKeeper interface,
* some security related features are added.
*/
interface XSecuritySAXEventKeeper : XSAXEventKeeper
{
/**
* Adds a new element collector on the next element in the SAX event
* stream.
*
* @param priority the priority of the element collector. See
* ConstOfPriority
* @param modifyElement a flag representing whether the element
* collector will modify the content of its
* element after notification
* @return the keeper id of the new element collector
*/
long addSecurityElementCollector(
[in] ElementMarkPriority priority,
[in] boolean modifyElement);
/**
* Clones an element collector.
*
* @param referenceId the keeper id of the element collector to
* be cloned
* @param priority the priority of new element collector. See
* ConstOfPriority
* @return the keeper id of the new element collector
*/
long cloneElementCollector(
[in] long referenceId,
[in] ElementMarkPriority priority);
/**
* Sets security id for an element mark.
*
* @param id the keeper id of the element collector to be set
* @param securityId the security id to be set
*/
void setSecurityId([in] long id, [in] long securityId);
};
} ; } ; } ; } ; } ; } ;
#endif