|
a/src/upmpdutils.hxx |
|
b/src/upmpdutils.hxx |
|
... |
|
... |
22 |
#include <string> // for string
|
22 |
#include <string> // for string
|
23 |
#include <unordered_map> // for unordered_map
|
23 |
#include <unordered_map> // for unordered_map
|
24 |
#include <vector> // for vector
|
24 |
#include <vector> // for vector
|
25 |
|
25 |
|
26 |
class UpSong;
|
26 |
class UpSong;
|
27 |
|
|
|
28 |
/**
|
|
|
29 |
* Read file into string.
|
|
|
30 |
* @return true for ok, false else
|
|
|
31 |
*/
|
|
|
32 |
extern bool file_to_string(const std::string &filename, std::string &data,
|
|
|
33 |
std::string *reason = 0);
|
|
|
34 |
|
|
|
35 |
extern void path_catslash(std::string &s);
|
|
|
36 |
extern bool path_exists(const std::string& path);
|
|
|
37 |
extern bool path_isabsolute(const std::string &path);
|
|
|
38 |
extern std::string path_cat(const std::string &s1, const std::string &s2);
|
|
|
39 |
extern void trimstring(std::string &s, const char *ws = " \t");
|
|
|
40 |
extern std::string path_tildexpand(const std::string &s);
|
|
|
41 |
extern void stringToTokens(const std::string &s, std::vector<std::string> &tokens,
|
|
|
42 |
const std::string &delims = " \t", bool skipinit=true);
|
|
|
43 |
template <class T> bool stringToStrings(const std::string& s, T &tokens,
|
|
|
44 |
const std::string& addseps = "");
|
|
|
45 |
extern bool path_makepath(const std::string& path, int mode);
|
|
|
46 |
|
27 |
|
47 |
// Convert between db value to percent values (Get/Set Volume and VolumeDb)
|
28 |
// Convert between db value to percent values (Get/Set Volume and VolumeDb)
|
48 |
extern int percentodbvalue(int value);
|
29 |
extern int percentodbvalue(int value);
|
49 |
extern int dbvaluetopercent(int dbvalue);
|
30 |
extern int dbvaluetopercent(int dbvalue);
|
50 |
|
31 |
|
|
... |
|
... |
72 |
// "newer" entries for diffing
|
53 |
// "newer" entries for diffing
|
73 |
extern std::unordered_map<std::string, std::string>
|
54 |
extern std::unordered_map<std::string, std::string>
|
74 |
diffmaps(const std::unordered_map<std::string, std::string>& old,
|
55 |
diffmaps(const std::unordered_map<std::string, std::string>& old,
|
75 |
const std::unordered_map<std::string, std::string>& newer);
|
56 |
const std::unordered_map<std::string, std::string>& newer);
|
76 |
|
57 |
|
77 |
/// Lock/pid file class. From Recoll
|
|
|
78 |
class Pidfile {
|
|
|
79 |
public:
|
|
|
80 |
Pidfile(const std::string& path) : m_path(path), m_fd(-1) {}
|
|
|
81 |
~Pidfile();
|
|
|
82 |
/// Open/create the pid file.
|
|
|
83 |
/// @return 0 if ok, > 0 for pid of existing process, -1 for other error.
|
|
|
84 |
pid_t open();
|
|
|
85 |
/// Write pid into the pid file
|
|
|
86 |
/// @return 0 ok, -1 error
|
|
|
87 |
int write_pid();
|
|
|
88 |
/// Close the pid file (unlocks)
|
|
|
89 |
int close();
|
|
|
90 |
/// Delete the pid file
|
|
|
91 |
int remove();
|
|
|
92 |
const std::string& getreason() {return m_reason;}
|
|
|
93 |
private:
|
|
|
94 |
std::string m_path;
|
|
|
95 |
int m_fd;
|
|
|
96 |
std::string m_reason;
|
|
|
97 |
pid_t read_pid();
|
|
|
98 |
int flopen();
|
|
|
99 |
};
|
|
|
100 |
|
|
|
101 |
#endif /* _UPMPDUTILS_H_X_INCLUDED_ */
|
58 |
#endif /* _UPMPDUTILS_H_X_INCLUDED_ */
|