//CFTTDevice - [2020-04-13 11:57:46]
#ifndef _CFTTDEVICE_H_
#define _CFTTDEVICE_H_

#include "common.h"

/*
002632F0 CFTTDevice::GetBatteryLevel()
0026BBA4 CFTTDevice::GetCPUCoreCount()
0026BE28 CFTTDevice::GetCountryCode_ISO_3166_1(char *,int)
002632F4 CFTTDevice::GetDateInRegionFormat(wchar_t *,int,bool,int,int,int)
002632E8 CFTTDevice::GetDeviceCurrencyCode(wchar_t *,uint)
002632A8 CFTTDevice::GetDeviceID(char *,uint,bool)
002632A0 CFTTDevice::GetDeviceID(wchar_t *,uint,bool)
0026326C CFTTDevice::GetDeviceLanguageID()
002632EC CFTTDevice::GetDeviceName(wchar_t *,uint)
00263418 CFTTDevice::GetDeviceToken(char *,int)
0026BEF4 CFTTDevice::GetFormFactor()
0026BBF8 CFTTDevice::GetLanguage(char *,int)
0026BB14 CFTTDevice::GetLanguageStr()
0026BC84 CFTTDevice::GetMake(char *,int)
0026BD10 CFTTDevice::GetModel(char *,int)
002632A4 CFTTDevice::GetPackageName(wchar_t *,uint)
0026BD9C CFTTDevice::GetPlatformVersion(char *,int)
0026C178 CFTTDevice::GetPushToken(char *,int)
0026BF68 CFTTDevice::GetSafeArea(float *,float *,float *,float *,EFTTDeviceSafeZoneUnit)
002633CC CFTTDevice::GetTwoLetterContinentCode(char *,int)
0026C104 CFTTDevice::IsAppInstalled(char const*)
0026C098 CFTTDevice::OpenURL(char const*)
*/

enum EFTTDeviceSafeZoneUnit {
  EFTTDeviceSafeZoneUnit_0,
  EFTTDeviceSafeZoneUnit_1,
  EFTTDeviceSafeZoneUnit_2,
  EFTTDeviceSafeZoneUnit_3,
  EFTTDeviceSafeZoneUnit_4,
  EFTTDeviceSafeZoneUnit_5,
};

class CFTTDevice {
public:
  CFTTDevice();
  ~CFTTDevice();

  //002632F0
  static float GetBatteryLevel();

  //0026BBA4
  static int GetCPUCoreCount();

  //0026BE28
  static bool GetCountryCode_ISO_3166_1(char *, int);

  //002632F4
  static void GetDateInRegionFormat(wchar_t *, int, bool, int, int, int);

  //002632E8
  static int GetDeviceCurrencyCode();

  //002632A8
  static bool GetDeviceID(char *pbuf, uint len, bool a3);

  //002632A0
  static bool GetDeviceID(wchar_t *pWBuf, uint len, bool a3);

  //0026326C
  static int GetDeviceLanguageID();

  //002632EC
  static bool GetDeviceName(wchar_t *, uint);

  //00263418
  static void GetDeviceToken(char *, int);

  //0026BEF4
  static int GetFormFactor();

  //0026BBF8
  static void GetLanguage(char *pBuf, int len);

  //0026BB14
  static char *GetLanguageStr();

  //0026BC84
  static void GetMake(char *pBuf, int len);

  //0026BD10
  static void GetModel(char *pBuf, int len);

  //002632A4
  static int GetPackageName(wchar_t *, uint);

  //0026BD9C
  static void GetPlatformVersion(char *pBuf, int len);

  //0026C178
  static void GetPushToken(char *pBuf, int len);

  //0026BF68
  static void GetSafeArea(float *fleft,
                          float *ftop,
                          float *fright,
                          float *fbottom,
                          EFTTDeviceSafeZoneUnit e);

  //002633CC
  static bool GetTwoLetterContinentCode(char *pbuf, int len);

  //0026C104
  static bool IsAppInstalled(char const *pbuf);

  //0026C098
  static void OpenURL(char const *);
};

#endif  //_CFTTDEVICE_H_