1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XSecuritySAXEventKeeper.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 //i20156 - new file for xmlsecurity module
33 /** -- idl definition -- **/
35 #ifndef __com_sun_star_xml_crypto_sax_xsecuritysaxeventkeeper_idl_
36 #define __com_sun_star_xml_crypto_sax_xsecuritysaxeventkeeper_idl_
38 #include
<com
/sun
/star
/uno
/XInterface.idl
>
39 #include
<com
/sun
/star
/uno
/Exception.idl
>
40 #include
<com
/sun
/star
/xml
/crypto
/sax
/XSAXEventKeeper.idl
>
42 module com
{ module sun
{ module star
{ module xml
{ module crypto
{ module sax
{
45 * Represents the undefined security id
47 constants ConstOfSecurityId
49 const long UNDEFINEDSECURITYID
= -1;
53 * Defines priority for the element mark's notification.
55 * The PRI_MINIMUM priority is a value less than any practical
56 * priority value, it is used when compare between different
59 * The PRI_AFTERMODIFY priority represents the notification will be
60 * sent after any internal modification has finished.
62 * The PRI_BEFOREMODIFY proirity represents the notification will be
63 * sent before any internal modification happens.
65 * So an element mark with PRI_BEFOREMODIFY will be handled first,
66 * and one with PRI_AFTERMODIFY will be handled at last.
68 enum ElementMarkPriority
76 * Defines types of element mark.
78 * the TYPEOFELEMENTMARK type represents a blocker, and the TYPEOFELEMENTCOLLECTOR
79 * type represents a element collector.
88 * Interface of Security SAX Event Keeper.
90 * This interface is an extension of the XSAXEventKeeper interface,
91 * some security related features are added.
93 interface XSecuritySAXEventKeeper
: XSAXEventKeeper
96 * Adds a new element collector on the next element in the SAX event
99 * @param priority the priority of the element collector. See
101 * @param modifyElement a flag representing whether the element
102 * collector will modify the content of its
103 * element after notification
104 * @return the keeper id of the new element collector
106 long addSecurityElementCollector
(
107 [in] ElementMarkPriority priority
,
108 [in] boolean modifyElement
);
111 * Clones an element collector.
113 * @param referenceId the keeper id of the element collector to
115 * @param priority the priority of new element collector. See
117 * @return the keeper id of the new element collector
119 long cloneElementCollector
(
120 [in] long referenceId
,
121 [in] ElementMarkPriority priority
);
124 * Sets security id for an element mark.
126 * @param id the keeper id of the element collector to be set
127 * @param securityId the security id to be set
129 void setSecurityId
([in] long id, [in] long securityId
);
132 } ; } ; } ; } ; } ; } ;