#include "il2cpp-config.h" #include #include "gc/WriteBarrier.h" #include "icalls/mscorlib/System/CurrentSystemTimeZone.h" #include "il2cpp-class-internals.h" #include "il2cpp-object-internals.h" #include "vm/Array.h" #include "vm/Exception.h" #include "vm/String.h" #include "os/TimeZone.h" namespace il2cpp { namespace icalls { namespace mscorlib { namespace System { bool CurrentSystemTimeZone::GetTimeZoneData40(int year, Il2CppArray** data, Il2CppArray** names, bool* daylight_inverted) { int64_t dataTemp[4] = {0}; std::string namesTemp[2]; IL2CPP_CHECK_ARG_NULL(data); IL2CPP_CHECK_ARG_NULL(names); gc::WriteBarrier::GenericStore(data, vm::Array::New(il2cpp_defaults.int64_class, 4)); gc::WriteBarrier::GenericStore(names, vm::Array::New(il2cpp_defaults.string_class, 2)); if (!os::TimeZone::GetTimeZoneData(year, dataTemp, namesTemp, daylight_inverted)) return false; for (int i = 0; i < 4; i++) il2cpp_array_set((*data), int64_t, i, dataTemp[i]); for (int i = 0; i < 2; i++) il2cpp_array_setref((*names), i, vm::String::New(namesTemp[i].c_str())); return true; } } /* namespace System */ } /* namespace mscorlib */ } /* namespace icalls */ } /* namespace il2cpp */