source: filezilla/trunk/fuentes/src/engine/notification.cpp @ 3185

Last change on this file since 3185 was 3185, checked in by jrpelegrina, 2 years ago

Update new version: 3.15.02

File size: 4.9 KB
Line 
1#include <filezilla.h>
2
3wxDEFINE_EVENT(fzEVT_NOTIFICATION, wxFzEvent);
4
5wxFzEvent::wxFzEvent()
6        : wxEvent(wxID_ANY, fzEVT_NOTIFICATION)
7        , engine_()
8{
9}
10
11wxFzEvent::wxFzEvent(CFileZillaEngine const* engine)
12        : wxEvent(wxID_ANY, fzEVT_NOTIFICATION)
13        , engine_(engine)
14{
15}
16
17wxFzEvent::wxFzEvent(int id)
18        : wxEvent(id, fzEVT_NOTIFICATION)
19        , engine_()
20{
21}
22
23wxEvent *wxFzEvent::Clone() const
24{
25        return new wxFzEvent(*this);
26}
27
28CDirectoryListingNotification::CDirectoryListingNotification(const CServerPath& path, const bool modified /*=false*/, const bool failed /*=false*/)
29        : m_modified(modified), m_failed(failed), m_path(path)
30{
31}
32
33enum RequestId CFileExistsNotification::GetRequestID() const
34{
35        return reqId_fileexists;
36}
37
38CInteractiveLoginNotification::CInteractiveLoginNotification(type t, const wxString& challenge, bool repeated)
39        : m_challenge(challenge)
40        , m_type(t)
41        , m_repeated(repeated)
42{
43}
44
45enum RequestId CInteractiveLoginNotification::GetRequestID() const
46{
47        return reqId_interactiveLogin;
48}
49
50CActiveNotification::CActiveNotification(int direction)
51        : m_direction(direction)
52{
53}
54
55CTransferStatusNotification::CTransferStatusNotification(CTransferStatus const& status)
56        : status_(status)
57{
58}
59
60CTransferStatus const& CTransferStatusNotification::GetStatus() const
61{
62        return status_;
63}
64
65CHostKeyNotification::CHostKeyNotification(wxString host, int port, wxString fingerprint, bool changed /*=false*/)
66        : m_host(host), m_port(port), m_fingerprint(fingerprint), m_changed(changed)
67{
68}
69
70enum RequestId CHostKeyNotification::GetRequestID() const
71{
72        return m_changed ? reqId_hostkeyChanged : reqId_hostkey;
73}
74
75wxString CHostKeyNotification::GetHost() const
76{
77        return m_host;
78}
79
80int CHostKeyNotification::GetPort() const
81{
82        return m_port;
83}
84
85wxString CHostKeyNotification::GetFingerprint() const
86{
87        return m_fingerprint;
88}
89
90CDataNotification::CDataNotification(char* pData, int len)
91        : m_pData(pData), m_len(len)
92{
93}
94
95CDataNotification::~CDataNotification()
96{
97        delete [] m_pData;
98}
99
100char* CDataNotification::Detach(int& len)
101{
102        len = m_len;
103        char* pData = m_pData;
104        m_pData = 0;
105        return pData;
106}
107
108CCertificate::CCertificate(
109                unsigned char const* rawData, unsigned int len,
110                fz::datetime const& activationTime, fz::datetime const& expirationTime,
111                wxString const& serial,
112                wxString const& pkalgoname, unsigned int bits,
113                wxString const& signalgoname,
114                wxString const& fingerprint_sha256,
115                wxString const& fingerprint_sha1,
116                wxString const& issuer,
117                wxString const& subject,
118                std::vector<wxString> const& altSubjectNames)
119        : m_activationTime(activationTime)
120        , m_expirationTime(expirationTime)
121        , m_len(len)
122        , m_serial(serial)
123        , m_pkalgoname(pkalgoname)
124        , m_pkalgobits(bits)
125        , m_signalgoname(signalgoname)
126        , m_fingerprint_sha256(fingerprint_sha256)
127        , m_fingerprint_sha1(fingerprint_sha1)
128        , m_issuer(issuer)
129        , m_subject(subject)
130        , m_altSubjectNames(altSubjectNames)
131{
132        wxASSERT(len);
133        if (len) {
134                m_rawData = new unsigned char[len];
135                memcpy(m_rawData, rawData, len);
136        }
137}
138
139CCertificate::CCertificate(const CCertificate &op)
140{
141        if (op.m_rawData) {
142                wxASSERT(op.m_len);
143                if (op.m_len) {
144                        m_rawData = new unsigned char[op.m_len];
145                        memcpy(m_rawData, op.m_rawData, op.m_len);
146                }
147                else
148                        m_rawData = 0;
149        }
150        else
151                m_rawData = 0;
152        m_len = op.m_len;
153
154        m_activationTime = op.m_activationTime;
155        m_expirationTime = op.m_expirationTime;
156
157        m_serial = op.m_serial;
158        m_pkalgoname = op.m_pkalgoname;
159        m_pkalgobits = op.m_pkalgobits;
160
161        m_signalgoname = op.m_signalgoname;
162
163        m_fingerprint_sha256 = op.m_fingerprint_sha256;
164        m_fingerprint_sha1 = op.m_fingerprint_sha1;
165
166        m_issuer = op.m_issuer;
167        m_subject = op.m_subject;
168        m_altSubjectNames = op.m_altSubjectNames;
169}
170
171CCertificate::~CCertificate()
172{
173        delete [] m_rawData;
174}
175
176CCertificate& CCertificate::operator=(const CCertificate &op)
177{
178        if (&op == this)
179                return *this;
180
181        delete [] m_rawData;
182        if (op.m_rawData) {
183                wxASSERT(op.m_len);
184                if (op.m_len) {
185                        m_rawData = new unsigned char[op.m_len];
186                        memcpy(m_rawData, op.m_rawData, op.m_len);
187                }
188                else
189                        m_rawData = 0;
190        }
191        else
192                m_rawData = 0;
193        m_len = op.m_len;
194
195        m_activationTime = op.m_activationTime;
196        m_expirationTime = op.m_expirationTime;
197
198        m_serial = op.m_serial;
199        m_pkalgoname = op.m_pkalgoname;
200        m_pkalgobits = op.m_pkalgobits;
201
202        m_signalgoname = op.m_signalgoname;
203
204        m_fingerprint_sha256 = op.m_fingerprint_sha256;
205        m_fingerprint_sha1 = op.m_fingerprint_sha1;
206
207        m_issuer = op.m_issuer;
208        m_subject = op.m_subject;
209        m_altSubjectNames = op.m_altSubjectNames;
210
211        return *this;
212}
213
214CCertificateNotification::CCertificateNotification(const wxString& host, unsigned int port,
215                const wxString& protocol,
216                const wxString& keyExchange,
217                const wxString& sessionCipher,
218                const wxString& sessionMac,
219                int algorithmWarnings,
220                const std::vector<CCertificate> &certificates)
221        : m_protocol(protocol)
222        , m_keyExchange(keyExchange)
223        , m_algorithmWarnings(algorithmWarnings)
224{
225        m_host = host;
226        m_port = port;
227
228        m_sessionCipher = sessionCipher;
229        m_sessionMac = sessionMac;
230
231        m_certificates = certificates;
232}
Note: See TracBrowser for help on using the repository browser.