-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy pathutil.h
130 lines (108 loc) · 3.31 KB
/
util.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
* CloudClient - A Qt cloud client for lixian.vip.xunlei.com
* Copyright (C) 2012 by Aaron Lewis <[email protected]>
*
* 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/>.
*/
#ifndef UTIL_H
#define UTIL_H
#include <QObject>
#include <QCryptographicHash>
#include <QDebug>
#include <QNetworkCookie>
#include <QList>
#include <QFile>
#include <QDesktopServices>
#include <QDateTime>
#include <cstdio>
#include "CloudObject.h"
static QHash<QString, QString> static_iconMapping;
static QHash<QString, Thunder::AutoOpen> static_autoOpenMapping;
class Util : public QObject
{
Q_OBJECT
public:
explicit Util(QObject *parent = 0);
static void init ();
/*!
* \brief Encrypt password
* \param plain text password
* \param verify code
* \param We store encrypted password only.
* \return
*/
static QString getEncryptedPassword (const QString &pass,
const QString &code,
bool encrypted = false);
static QString getMD5Hex (const QString & pass);
/*!
* \brief Convert number to human readable size
* \param size
* \return
*/
static QString toReadableSize (const unsigned long long &size);
/*!
* \brief Return file attribute and icon
* \param fileName
* \param If target is a folder
* \return
*/
static Thunder::File getFileAttr (const QString & fileName, bool isFolder = false);
/*!
* \brief Parse function fields, i.e queryCid('', '', 0, 'Movie')
* \param data
* \return
*/
static QStringList parseFunctionFields (const QByteArray & d);
/*!
* \brief Return a set of cookie from a mozilla styled cookie file
* \param file
* \return
*/
static QList<QNetworkCookie> parseMozillaCookieFile (const QString & file);
/*!
* \brief Read whole file into a QByteArray()
* \param file
* \return
*/
static QByteArray readWholeFile (const QString & file);
/*!
* \brief Write a file
* \param file
* \param data
* \return
*/
static bool writeFile (const QString & file,
const QByteArray & data);
/*!
* \brief Generate random alpha number string
* \param len
* \return
*/
static QString getRandomString (const int & len = 15);
/*!
* \brief Get absolute path of user home directory
* \return
*/
static QString getHomeLocation ();
/*!
* \brief Should file be handled automatically upon transfer complete
* \param fileName
* \return
*/
static Thunder::AutoOpen shouldAutoOpen (const QString & fileName);
signals:
public slots:
};
#endif // UTIL_H