Subversion Repositories HomeAutomation

Rev

Rev 976 | Blame | Last modification | View Log | SVN | RSS feed

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