- Naming style migrated to camel-case - P7lib logger sources added - Vcpkg manifest, CMake presets and build moved to root - SDL2, Vulkan and RmlUi dependencies added - Logger LOG macro added - Logger configuration - SDL2 window configuration - Vulkan configuration - RmlUi configuration - SDL event loop
101 lines
4.0 KiB
C++
101 lines
4.0 KiB
C++
////////////////////////////////////////////////////////////////////////////////
|
|
// /
|
|
// 2012-2020 (c) Baical /
|
|
// /
|
|
// This library is free software; you can redistribute it and/or /
|
|
// modify it under the terms of the GNU Lesser General Public /
|
|
// License as published by the Free Software Foundation; either /
|
|
// version 3.0 of the License, or (at your option) any later version. /
|
|
// /
|
|
// This library is distributed in the hope that it will be useful, /
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of /
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU /
|
|
// Lesser General Public License for more details. /
|
|
// /
|
|
// You should have received a copy of the GNU Lesser General Public /
|
|
// License along with this library. /
|
|
// /
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
#ifndef PSYSTEM_H
|
|
#define PSYSTEM_H
|
|
|
|
#include <unistd.h>
|
|
|
|
class CSys
|
|
{
|
|
public:
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//Get_Host_Name
|
|
static tBOOL Get_Host_Name(tWCHAR *o_pName, size_t i_szName)
|
|
{
|
|
const size_t l_szName = 256;
|
|
char l_pName[l_szName];
|
|
|
|
if (0 == gethostname(l_pName, l_szName))
|
|
{
|
|
//If the null-terminated hostname is too large to fit, then the name
|
|
//is truncated, and no error is returned (but see NOTES below).
|
|
//POSIX.1-2001 says that if such truncation occurs, then it is
|
|
//unspecified whether the returned buffer includes a terminating
|
|
//null byte.
|
|
l_pName[l_szName-1] = 0;
|
|
}
|
|
else
|
|
{
|
|
strcpy(l_pName, "Unknown:Error");
|
|
}
|
|
|
|
Convert_UTF8_To_UTF16(l_pName, o_pName, i_szName);
|
|
return TRUE;
|
|
}//Get_Host_Name
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//Get_Host_Name
|
|
static tBOOL Get_Host_Name(tACHAR *o_pName, size_t i_szName)
|
|
{
|
|
if (0 == gethostname(o_pName, i_szName))
|
|
{
|
|
//If the null-terminated hostname is too large to fit, then the name
|
|
//is truncated, and no error is returned (but see NOTES below).
|
|
//POSIX.1-2001 says that if such truncation occurs, then it is
|
|
//unspecified whether the returned buffer includes a terminating
|
|
//null byte.
|
|
o_pName[i_szName-1] = 0;
|
|
}
|
|
else
|
|
{
|
|
strcpy(o_pName, "Unknown:Error");
|
|
}
|
|
return TRUE;
|
|
}//Get_Host_Name
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//Get_DateTime
|
|
static tBOOL Get_DateTime(tUINT32 &o_rYear,
|
|
tUINT32 &o_rMonth,
|
|
tUINT32 &o_rDay,
|
|
tUINT32 &o_rHour,
|
|
tUINT32 &o_rMinute,
|
|
tUINT32 &o_rSecond,
|
|
tUINT32 &o_rmSec
|
|
)
|
|
{
|
|
time_t l_sTime = time(NULL);
|
|
struct tm l_sTM = *localtime(&l_sTime);
|
|
|
|
o_rYear = (uint32_t)(l_sTM.tm_year + 1900);
|
|
o_rMonth = (uint32_t)(l_sTM.tm_mon + 1);
|
|
o_rDay = (uint32_t)l_sTM.tm_mday;
|
|
o_rHour = (uint32_t)l_sTM.tm_hour;
|
|
o_rMinute = (uint32_t)l_sTM.tm_min;
|
|
o_rSecond = (uint32_t)l_sTM.tm_sec;
|
|
o_rmSec = 0;
|
|
|
|
return TRUE;
|
|
}//Get_Host_Name
|
|
|
|
};
|
|
|
|
|
|
#endif //PSYSTEM_H
|