src/ztfy/utils/interfaces.py
branchZTK-1.1
changeset 169 b4b587dd45ca
parent 148 d3668ecd9137
child 171 0e8925323082
--- a/src/ztfy/utils/interfaces.py	Thu Sep 13 10:56:25 2012 +0200
+++ b/src/ztfy/utils/interfaces.py	Thu Sep 20 17:06:22 2012 +0200
@@ -24,9 +24,12 @@
 
 # import Zope3 packages
 from zope.interface import Interface
+from zope.schema import TextLine, Int, Password
 
 # import local packages
 
+from ztfy.utils import _
+
 
 class INewSiteManagerEvent(IObjectEvent):
     """Event interface for new site manager event"""
@@ -140,3 +143,41 @@
 
 class IDict(IDictInfo, IDictWriter):
     """Marker interface for dict-like components"""
+
+
+#
+# ZEO connection settings interface
+#
+
+class IZEOConnection(Interface):
+    """ZEO connection settings interface"""
+
+    server_name = TextLine(title=_("ZEO server name"),
+                           description=_("Hostname of ZEO server"),
+                           required=True,
+                           default=u'localhost')
+
+    server_port = Int(title=_("ZEO server port"),
+                      description=_("Port number of ZEO server"),
+                      required=True,
+                      default=8100)
+
+    storage = TextLine(title=_("ZEO server storage"),
+                       description=_("Storage name on ZEO server"),
+                       required=True,
+                       default=u'1')
+
+    username = TextLine(title=_("ZEO user name"),
+                        description=_("User name on ZEO server"),
+                        required=False)
+
+    password = Password(title=_("ZEO password"),
+                        description=_("User password on ZEO server"),
+                        required=False)
+
+    server_realm = TextLine(title=_("ZEO server realm"),
+                            description=_("Realm name on ZEO server"),
+                            required=False)
+
+    def getConnection(self, wait=False):
+        """Open ZEO connection with given settings"""