source: filezilla/trunk/fuentes/src/engine/misc.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: 1.7 KB
Line 
1#include <filezilla.h>
2#include <gnutls/gnutls.h>
3#include <sqlite3.h>
4#include <random>
5#include <cstdint>
6
7#include <libfilezilla/time.hpp>
8
9#include "tlssocket.h"
10
11wxString GetDependencyVersion(dependency::type d)
12{
13        switch (d) {
14        case dependency::wxwidgets:
15                return wxVERSION_NUM_DOT_STRING_T;
16        case dependency::gnutls:
17                {
18                        const char* v = gnutls_check_version(0);
19                        if (!v || !*v)
20                                return _T("unknown");
21
22                        return wxString(v, wxConvLibc);
23                }
24        case dependency::sqlite:
25                return wxString::FromUTF8(sqlite3_libversion());
26        default:
27                return wxString();
28        }
29}
30
31wxString GetDependencyName(dependency::type d)
32{
33        switch (d) {
34        case dependency::wxwidgets:
35                return _T("wxWidgets");
36        case dependency::gnutls:
37                return _T("GnuTLS");
38        case dependency::sqlite:
39                return _T("SQLite");
40        default:
41                return wxString();
42        }
43}
44
45wxString ListTlsCiphers(const wxString& priority)
46{
47        return CTlsSocket::ListTlsCiphers(priority);
48}
49
50#ifdef __WXMSW__
51bool IsAtLeast(int major, int minor = 0)
52{
53        OSVERSIONINFOEX vi = { 0 };
54        vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
55        vi.dwMajorVersion = major;
56        vi.dwMinorVersion = minor;
57        vi.dwPlatformId = VER_PLATFORM_WIN32_NT;
58
59        DWORDLONG mask = 0;
60        VER_SET_CONDITION(mask, VER_MAJORVERSION, VER_GREATER_EQUAL);
61        VER_SET_CONDITION(mask, VER_MINORVERSION, VER_GREATER_EQUAL);
62        VER_SET_CONDITION(mask, VER_PLATFORMID, VER_EQUAL);
63        return VerifyVersionInfo(&vi, VER_MAJORVERSION | VER_MINORVERSION | VER_PLATFORMID, mask) != 0;
64}
65#endif
66
67bool GetRealOsVersion(int& major, int& minor)
68{
69#ifndef __WXMSW__
70        return wxGetOsVersion(&major, &minor) != wxOS_UNKNOWN;
71#else
72        major = 4;
73        minor = 0;
74        while (IsAtLeast(++major, minor))
75        {
76        }
77        --major;
78        while (IsAtLeast(major, ++minor))
79        {
80        }
81        --minor;
82
83        return true;
84#endif
85}
Note: See TracBrowser for help on using the repository browser.