]> WPIA git - cassiopeia.git/blob - src/util.h
90365bde7038e772ecc3e889dfb6173e04a556dc
[cassiopeia.git] / src / util.h
1 #pragma once
2
3 #include <string>
4 #include <ctime>
5 #include <memory>
6
7 void writeFile( const std::string& name, const std::string& content );
8 std::string readFile( const std::string& name );
9
10 std::string writeBackFile( const std::string& serial, const std::string& cert, const std::string& keydir );
11
12 std::pair<bool, std::time_t> parseDate( const std::string& date );
13 std::pair<bool, std::time_t> parseMonthInterval( std::time_t t, const std::string& date );
14 std::pair<bool, std::time_t> parseYearInterval( std::time_t t, const std::string& date );
15
16 std::unique_ptr<std::ofstream> openLogfile( const std::string &name );
17
18 template<typename T, typename... Args>
19 std::unique_ptr<T> make_unique( Args&&... args ) {
20     return std::unique_ptr<T>( new T( std::forward<Args>(args)... ));
21 }
22
23 std::string timestamp();