legatt 32f4597c4d Base frontend module
- 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
2025-08-08 00:07:32 +03:00

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