2 # Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
4 # This file is part of python-purple.
6 # python-purple is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # python-purple is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
22 cdef class ProxyInfoType:
23 cdef proxy.PurpleProxyType c_type
26 self.c_type = proxy.PURPLE_PROXY_NONE
29 self.c_type = proxy.PURPLE_PROXY_NONE
31 NONE = property(get_NONE)
33 def get_USE_GLOBAL(self):
34 self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL
36 USE_GLOBAL = property(get_USE_GLOBAL)
39 self.c_type = proxy.PURPLE_PROXY_HTTP
41 HTTP = property(get_HTTP)
44 self.c_type = proxy.PURPLE_PROXY_SOCKS4
48 self.c_type = proxy.PURPLE_PROXY_SOCKS5
51 def get_USE_ENVVAR (self):
52 self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR
54 USE_ENVVAR = property(get_USE_ENVVAR)
58 cdef proxy.PurpleProxyInfo *c_proxyinfo
62 self.c_proxyinfo = NULL
64 self.types = {"HTTP": proxy.PURPLE_PROXY_HTTP,
65 "USER_GLOBAL": proxy.PURPLE_PROXY_USE_GLOBAL,
66 "USE_ENVVAR": proxy.PURPLE_PROXY_USE_ENVVAR,
67 "SOCKS4": proxy.PURPLE_PROXY_SOCKS4,
68 "SOCKS5": proxy.PURPLE_PROXY_SOCKS5,
69 "NONE": proxy.PURPLE_PROXY_NONE}
72 def set_type(self, ProxyInfoType type):
74 proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type)
76 def set_host(self, char *host):
78 proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host)
80 def set_port(self, int port):
82 proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port)
84 def set_username(self, char *username):
86 proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username)
88 def set_password(self, char *password):
90 proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password)
93 return self.types.keys()