aboutsummaryrefslogtreecommitdiff
path: root/src/3rdParty/efsw/Log.cpp
blob: 6f32df7c64afef945b2bacbdf6188176210b4d79 (plain)
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
#include <efsw/efsw.hpp>
#include <efsw/Debug.hpp>

namespace efsw { namespace Errors {

static std::string LastError = "";
static Error LastErrorCode = NoError;

std::string Log::getLastErrorLog() {
	return LastError;
}

Error Log::getLastErrorCode() {
	return LastErrorCode;
}

void Log::clearLastError() {
	LastErrorCode = NoError;
	LastError = "";
}

Error Log::createLastError( Error err, std::string log ) {
	switch ( err ) {
		case FileNotFound:
			LastError = "File not found ( " + log + " )";
			break;
		case FileRepeated:
			LastError = "File repeated in watches ( " + log + " )";
			break;
		case FileOutOfScope:
			LastError = "Symlink file out of scope ( " + log + " )";
			break;
		case FileRemote:
			LastError =
				"File is located in a remote file system, use a generic watcher. ( " + log + " )";
			break;
		case WatcherFailed:
			LastError = "File system watcher failed ( " + log + " )";
			break;
		case Unspecified:
		default:
			LastError = log;
	}

	efDEBUG( "%s\n", LastError.c_str() );
	return err;
}

}} // namespace efsw::Errors