Subversion Repositories HomeAutomation

Rev

Rev 981 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 981 Rev 997
1
/***************************************************************************
1
/***************************************************************************
2
 *   Copyright (C) 2003 by Mattias Runge                                   *
2
 *   Copyright (C) 2003 by Mattias Runge                                   *
3
 *   mattias@mrunge.se                                                     *
3
 *   mattias@mrunge.se                                                     *
4
 *                                                                         *
4
 *                                                                         *
5
 *   This program is free software; you can redistribute it and/or modify  *
5
 *   This program is free software; you can redistribute it and/or modify  *
6
 *   it under the terms of the GNU General Public License as published by  *
6
 *   it under the terms of the GNU General Public License as published by  *
7
 *   the Free Software Foundation; either version 2 of the License, or     *
7
 *   the Free Software Foundation; either version 2 of the License, or     *
8
 *   (at your option) any later version.                                   *
8
 *   (at your option) any later version.                                   *
9
 *                                                                         *
9
 *                                                                         *
10
 *   This program is distributed in the hope that it will be useful,       *
10
 *   This program is distributed in the hope that it will be useful,       *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13
 *   GNU General Public License for more details.                          *
13
 *   GNU General Public License for more details.                          *
14
 *                                                                         *
14
 *                                                                         *
15
 *   You should have received a copy of the GNU General Public License     *
15
 *   You should have received a copy of the GNU General Public License     *
16
 *   along with this program; if not, write to the                         *
16
 *   along with this program; if not, write to the                         *
17
 *   Free Software Foundation, Inc.,                                       *
17
 *   Free Software Foundation, Inc.,                                       *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
 ***************************************************************************/
19
 ***************************************************************************/
20
#ifndef _TOOLS_H
20
#ifndef _TOOLS_H
21
#define _TOOLS_H
21
#define _TOOLS_H
22
 
22
 
23
#include <string>
23
#include <string>
24
#include <vector>
24
#include <vector>
25
#include <fstream>
25
#include <fstream>
26
#include <sstream>
26
#include <sstream>
-
 
27
#include <stdexcept>
-
 
28
#include <iostream>
27
 
29
 
28
using namespace std;
30
using namespace std;
29
 
31
 
30
#include <cmath>
32
#include <cmath>
31
#include <sys/types.h>
33
#include <sys/types.h>
32
#include <dirent.h>
34
#include <dirent.h>
33
 
35
 
34
string niceTime();
36
string niceTime();
35
 
37
 
36
string hex2bin(string hex);
38
string hex2bin(string hex);
37
string bin2hex(string bin);
39
string bin2hex(string bin);
38
 
40
 
39
float bin2float(string bin);
41
float bin2float(string bin);
40
string float2bin(float num, int length);
42
string float2bin(float num, int length);
41
 
43
 
42
unsigned int bin2uint(string bin);
44
unsigned int bin2uint(string bin);
43
string uint2bin(unsigned int num, int length);
45
string uint2bin(unsigned int num, int length);
44
 
46
 
45
string uint2hex(unsigned int num, int length);
47
string uint2hex(unsigned int num, int length);
46
 
48
 
47
vector<string> explode(string delimiter, string str);
49
vector<string> explode(string delimiter, string str);
48
string strtoupper(string s);
50
string strtoupper(string s);
49
string strtolower(string s);
51
string strtolower(string s);
50
string trim(string s);
52
string trim(string s);
51
string trim(string s, char c);
53
string trim(string s, char c);
52
int stoi(const string s);
54
int stoi(const string s);
53
string itos(int i);
55
string itos(int i);
54
string utos(unsigned int i);
56
string utos(unsigned int i);
55
unsigned int stou(const string s);
57
unsigned int stou(const string s);
56
float stof(const string s);
58
float stof(const string s);
57
string ftos(float f);
59
string ftos(float f);
58
string str_replace(string search, string replace, string str);
60
string str_replace(string search, string replace, string str);
59
string file_get_contents(string filename);
61
string file_get_contents(string filename);
60
bool file_exists(string filename);
62
bool file_exists(string filename);
61
string escape(string in);
63
string escape(string in);
62
string rpad(string in, int length, char c);
64
string rpad(string in, int length, char c);
63
string lpad(string in, int length, char c);
65
string lpad(string in, int length, char c);
64
 
66
 
65
class FileTools
67
class FileTools
66
{
68
{
67
public:
69
public:
68
    static vector<string> GetDirList(string path);
70
    static vector<string> GetDirList(string path);
69
    static string GetUniqeFilename(string path, string prefix, string postfix);
71
    static string GetUniqeFilename(string path, string prefix, string postfix);
70
    static string GetUniqeFilename(string path) { return GetUniqeFilename(path, "", ""); }
72
    static string GetUniqeFilename(string path) { return GetUniqeFilename(path, "", ""); }
71
    static bool SaveFile(string filepath, string data);
73
    static bool SaveFile(string filepath, string data);
72
    static string Get(string src);
74
    static string Get(string src);
73
    static bool Copy(string src, string dest);
75
    static bool Copy(string src, string dest);
74
    static bool Exist(string filename);
76
    static bool Exist(string filename);
75
 
77
 
76
};
78
};
77
 
79
 
78
#endif // _TOOLS_H
80
#endif // _TOOLS_H
79
 
81