[Zope3-checkins] CVS: Zope3/src/zope/app/interfaces - component.py:1.1.2.2

Steve Alexander steve@cat-box.net
Wed, 14 May 2003 03:36:40 -0400


Update of /cvs-repository/Zope3/src/zope/app/interfaces
In directory cvs.zope.org:/tmp/cvs-serv6710/src/zope/app/interfaces

Modified Files:
      Tag: stevea-decorators-branch
	component.py 
Log Message:
Added stubs to allow two pairs to work together on decorators.


=== Zope3/src/zope/app/interfaces/component.py 1.1.2.1 => 1.1.2.2 ===
--- Zope3/src/zope/app/interfaces/component.py:1.1.2.1	Tue May 13 13:41:36 2003
+++ Zope3/src/zope/app/interfaces/component.py	Wed May 14 03:36:09 2003
@@ -15,7 +15,7 @@
 $Id$
 """
 
-from zope.interface import Interface
+from zope.interface import Interface, Attribute
 from zope.schema import Field
 from zope.schema.interfaces import IEnumerated, IField, ITuple
 
@@ -88,3 +88,17 @@
                          u" unless it is None, which means 'anything'."),
             default=Interface,
             )
+
+
+class IDecoratorSpec(Interface):
+    """Specification for making a decorator
+
+    This information is gathered from the zcml decorator directive.
+    """
+    mixinIsTrusted = Attribute('True if the mixin is trusted')
+    # The mixinFactory should be a synthesized class, if necessary.
+    mixinFactory = Attribute('Callable that has two args (inner, outer)')
+    mixinInterfaceSpec = Attribute('Interface spec mixin provides')
+    names = Attribute('Name of attributes provided by mixin')
+    permissionMap = Attribute('Mapping name->permission_id')
+