Update ooo320-m1
[ooovba.git] / offapi / com / sun / star / xml / crypto / sax / XSecuritySAXEventKeeper.idl
blobe0b6742cce62d391050bfd34cf4d0e54354738ba
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XSecuritySAXEventKeeper.idl,v $
10 * $Revision: 1.5 $
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 {
44 /**
45 * Represents the undefined security id
47 constants ConstOfSecurityId
49 const long UNDEFINEDSECURITYID = -1;
52 /**
53 * Defines priority for the element mark's notification.
54 * <p>
55 * The PRI_MINIMUM priority is a value less than any practical
56 * priority value, it is used when compare between different
57 * priority values.
58 * <p>
59 * The PRI_AFTERMODIFY priority represents the notification will be
60 * sent after any internal modification has finished.
61 * <p>
62 * The PRI_BEFOREMODIFY proirity represents the notification will be
63 * sent before any internal modification happens.
64 * <p>
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
70 MINIMUM = 1,
71 AFTERMODIFY,
72 BEFOREMODIFY
75 /**
76 * Defines types of element mark.
77 * <p>
78 * the TYPEOFELEMENTMARK type represents a blocker, and the TYPEOFELEMENTCOLLECTOR
79 * type represents a element collector.
81 enum ElementMarkType
83 ELEMENTMARK = 1,
84 ELEMENTCOLLECTOR
87 /**
88 * Interface of Security SAX Event Keeper.
89 * <p>
90 * This interface is an extension of the XSAXEventKeeper interface,
91 * some security related features are added.
93 interface XSecuritySAXEventKeeper : XSAXEventKeeper
95 /**
96 * Adds a new element collector on the next element in the SAX event
97 * stream.
99 * @param priority the priority of the element collector. See
100 * ConstOfPriority
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
114 * be cloned
115 * @param priority the priority of new element collector. See
116 * ConstOfPriority
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 } ; } ; } ; } ; } ; } ;
135 #endif