Exemple #1
0
std::string getOSString()
{
	std::string distro, arch;

#ifdef DEBUG
	distro = "Unknown (debug build)";
	arch = "XXX";
#else
	std::string lsbInfo = getCmdStdout("lsb_release -a", 1);

	arch = getCmdStdout("uname -m", 1);

	if (lsbInfo.size() > 0)
		distro = getDescFromLSB(lsbInfo);

	char outBuff[255] = {0};

	if (distro.size() == 0 && (readFile("/etc/fedora-release", outBuff, 254) || readFile("/etc/redhat-release", outBuff, 254) || readFile("/etc/gentoo-release", outBuff, 254)))
		distro = outBuff;

	if (distro.size() == 0)
		distro = "Unknown (indeterminate)";
#endif

	return distro.insert(0, "Linux ").append(" ").append(arch);
}
Exemple #2
0
std::wstring getDesktopPath(std::wstring extra)
{
	// Convert std::string to std::wstring using std::copy
	std::string temp(getCmdStdout("xdg-user-dir DESKTOP", 1));
	std::wstring desktop(temp.length(),L' ');
	std::copy(temp.begin(), temp.end(), desktop.begin());
	//std::wstring desktop((wchar_t*) getCmdStdout("xdg-user-dir DESKTOP", 1).c_str());
	if(!desktop.empty())
	{
		desktop += L"/";
		desktop += extra;
	}
	// Do some error checking if desktop is empty
	return desktop;
}
Exemple #3
0
bool is64OS()
{
#ifndef DEBUG
	std::string out(getCmdStdout("uname -m", 1));
	if(out == "x86_64")
		return true;
	else
		return false;
#else
	#ifdef NIX64
	return true;
	#else
	return false;
	#endif
#endif
}