50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
#include "Common.h"
|
|
#include "SysfileUtilWrapper.h"
|
|
|
|
char* SysfileUtilWrapper::GetString(const char* FilePath, const char* Key, unsigned int Size)
|
|
{
|
|
int fd = sceKernelOpen(FilePath, 0, 0511);
|
|
if (!fd)
|
|
{
|
|
klog("File doesnt exist %s\n", FilePath);
|
|
return (char*)"";
|
|
}
|
|
else
|
|
{
|
|
MonoClass* SysfileUtilWrapper_Util = Mono::Get_Class(Mono::SysfileUtilWrapper, "Sce.Vsh", "SysfileUtilWrapper/Util");
|
|
|
|
MonoString* str = Mono::Invoke<MonoString*>(Mono::SysfileUtilWrapper, SysfileUtilWrapper_Util, nullptr, "GetString", Mono::New_String(FilePath), Mono::New_String(Key), Size);
|
|
|
|
if (str)
|
|
return mono_string_to_utf8(str);
|
|
else
|
|
return (char*)"";
|
|
}
|
|
}
|
|
|
|
int SysfileUtilWrapper::GetAttribute(const char* FilePath)
|
|
{
|
|
MonoClass* SysfileUtilWrapper_Util = Mono::Get_Class(Mono::SysfileUtilWrapper, "Sce.Vsh", "SysfileUtilWrapper/Util");
|
|
|
|
return Mono::Invoke<int>(Mono::SysfileUtilWrapper, SysfileUtilWrapper_Util, nullptr, "GetAttribute", Mono::New_String(FilePath));
|
|
}
|
|
|
|
char* SysfileUtilWrapper::GetTitleId(const char* FilePath)
|
|
{
|
|
return GetString(FilePath, "TITLE_ID", 12U);
|
|
}
|
|
|
|
char* SysfileUtilWrapper::GetContentId(const char* FilePath)
|
|
{
|
|
return GetString(FilePath, "CONTENT_ID", 48U);
|
|
}
|
|
|
|
char* SysfileUtilWrapper::GetTitle(const char* FilePath)
|
|
{
|
|
return GetString(FilePath, "TITLE", 128U);
|
|
}
|
|
|
|
char* SysfileUtilWrapper::GetDescription(const char* FilePath)
|
|
{
|
|
return GetString(FilePath, "PROVIDER", 128U);
|
|
} |