summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/services/mail/connection.py
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@leap.se>2013-10-28 13:03:54 -0300
committerTomás Touceda <chiiph@leap.se>2013-10-28 13:03:54 -0300
commit856a3301b025f3d14c36a0ec0c90563358780670 (patch)
tree8193836786a205b19359e696cb357af3d2ac3c29 /src/leap/bitmask/services/mail/connection.py
parente149f7e3e6a5c4621edd252fd7f75c580c5e49b3 (diff)
parent4c3329d67ec6730da0b26cc3b57a1ee689560cd0 (diff)
Merge remote-tracking branch 'kali/feature/refactor-mail-connections' into develop
Diffstat (limited to 'src/leap/bitmask/services/mail/connection.py')
-rw-r--r--src/leap/bitmask/services/mail/connection.py103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/leap/bitmask/services/mail/connection.py b/src/leap/bitmask/services/mail/connection.py
new file mode 100644
index 00000000..29378f62
--- /dev/null
+++ b/src/leap/bitmask/services/mail/connection.py
@@ -0,0 +1,103 @@
+# -*- coding: utf-8 -*-
+# connection.py
+# Copyright (C) 2013 LEAP
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+"""
+Email Connections
+"""
+from PySide import QtCore
+
+from leap.bitmask.services.connections import AbstractLEAPConnection
+
+
+class IMAPConnectionSignals(QtCore.QObject):
+ """
+ Qt Signals used by IMAPConnection
+ """
+ # commands
+ do_connect_signal = QtCore.Signal()
+ do_disconnect_signal = QtCore.Signal()
+
+ # intermediate stages
+ connecting_signal = QtCore.Signal()
+ disconnecting_signal = QtCore.Signal()
+
+ connected_signal = QtCore.Signal()
+ disconnected_signal = QtCore.Signal()
+
+ connection_died_signal = QtCore.Signal()
+ connection_aborted_signal = QtCore.Signal()
+
+
+class IMAPConnection(AbstractLEAPConnection):
+
+ _connection_name = "IMAP"
+
+ def __init__(self):
+ self._qtsigs = IMAPConnectionSignals()
+
+
+class SMTPConnectionSignals(QtCore.QObject):
+ """
+ Qt Signals used by SMTPConnection
+ """
+ # commands
+ do_connect_signal = QtCore.Signal()
+ do_disconnect_signal = QtCore.Signal()
+
+ # intermediate stages
+ connecting_signal = QtCore.Signal()
+ disconnecting_signal = QtCore.Signal()
+
+ connected_signal = QtCore.Signal()
+ disconnected_signal = QtCore.Signal()
+
+ connection_died_signal = QtCore.Signal()
+ connection_aborted_signal = QtCore.Signal()
+
+
+class SMTPConnection(AbstractLEAPConnection):
+
+ _connection_name = "IMAP"
+
+ def __init__(self):
+ self._qtsigs = SMTPConnectionSignals()
+
+
+class MailConnectionSignals(QtCore.QObject):
+ """
+ Qt Signals used by MailConnection
+ """
+ # commands
+ do_connect_signal = QtCore.Signal()
+ do_disconnect_signal = QtCore.Signal()
+
+ connecting_signal = QtCore.Signal()
+ disconnecting_signal = QtCore.Signal()
+
+ connected_signal = QtCore.Signal()
+ disconnected_signal = QtCore.Signal()
+
+ connection_died_signal = QtCore.Signal()
+ connection_aborted_signal = QtCore.Signal()
+
+
+class MailConnection(AbstractLEAPConnection):
+
+ components = IMAPConnection, SMTPConnection
+ _connection_name = "Mail"
+
+ def __init__(self):
+ self._qtsigs = MailConnectionSignals()