Better handling of c/python strings.
[python-purple] / proxy.pyx
1 #
2 #  Copyright (c) 2008 INdT - Instituto Nokia de Tecnologia
3 #
4 #  This file is part of python-purple.
5 #
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.
10 #
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.
15 #
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/>.
18 #
19
20 cimport purple
21
22 cdef class ProxyInfoType:
23     cdef proxy.PurpleProxyType c_type
24
25     def __init__(self):
26         self.c_type = proxy.PURPLE_PROXY_NONE
27
28     def get_NONE(self):
29         self.c_type = proxy.PURPLE_PROXY_NONE
30         return self
31     NONE = property(get_NONE)
32
33     def get_USE_GLOBAL(self):
34         self.c_type = proxy.PURPLE_PROXY_USE_GLOBAL
35         return self
36     USE_GLOBAL = property(get_USE_GLOBAL)
37
38     def get_HTTP(self):
39         self.c_type = proxy.PURPLE_PROXY_HTTP
40         return self
41     HTTP = property(get_HTTP)
42
43     def get_SOCKS4(self):
44         self.c_type = proxy.PURPLE_PROXY_SOCKS4
45         return self
46
47     def get_SOCKS5(self):
48         self.c_type = proxy.PURPLE_PROXY_SOCKS5
49         return self
50
51     def get_USE_ENVVAR (self):
52         self.c_type = proxy.PURPLE_PROXY_USE_ENVVAR
53         return self
54     USE_ENVVAR = property(get_USE_ENVVAR)
55
56 cdef class ProxyInfo:
57
58     cdef proxy.PurpleProxyInfo *c_proxyinfo
59
60     def __init__(self):
61         self.c_proxyinfo = NULL
62
63     def set_type(self, ProxyInfoType type):
64         if self.c_proxyinfo:
65             proxy.c_purple_proxy_info_set_type(self.c_proxyinfo, type.c_type)
66
67     def set_host(self, char *host):
68         if self.c_proxyinfo:
69             proxy.c_purple_proxy_info_set_host(self.c_proxyinfo, host)
70
71     def set_port(self, int port):
72         if self.c_proxyinfo:
73             proxy.c_purple_proxy_info_set_port(self.c_proxyinfo, port)
74
75     def set_username(self, char *username):
76         if self.c_proxyinfo:
77             proxy.c_purple_proxy_info_set_username(self.c_proxyinfo, username)
78
79     def set_password(self, char *password):
80         if self.c_proxyinfo:
81             proxy.c_purple_proxy_info_set_password(self.c_proxyinfo, password)
82