//CFTTAWSKinesisFirehose - [2020-04-13 11:57:46]
#ifndef _CFTTAWSKINESISFIREHOSE_H_
#define _CFTTAWSKINESISFIREHOSE_H_

#include "common.h"
#include "CFTTJson.h"

/*
001F9364 CFTTAWSKinesisFirehose::CFTTAWSKinesisFirehose()
001F9380 CFTTAWSKinesisFirehose::Init(char const*,bool)
001F93A8 CFTTAWSKinesisFirehose::LogEvent(wchar_t const*,TAnalyticsEventParams const*,uint64_t,bool)
001F93CC CFTTAWSKinesisFirehose::CreateEventJSON(wchar_t const*,TAnalyticsEventParams const*,uint64_t,bool)
001F9664 CFTTAWSKinesisFirehose::LogPurchase(char const*,int)
001F9704 CFTTAWSKinesisFirehose::AddEventDefaultAttributes(CFTTJson *)
001F9804 CFTTAWSKinesisFirehose::AddEventDefaultMetrics(CFTTJson *)
001F98FC CFTTAWSKinesisFirehose::SetSessionID(uint)
001F9918 CFTTAWSKinesisFirehose::GetSessionID()
001F9E50 CFTTAWSKinesisFirehose::SaveEvent(CFTTJson *)
001F9EE4 CFTTAWSKinesisFirehose::AddEventApplicationInfo(CFTTJson *)
001FA0D8 CFTTAWSKinesisFirehose::AddEventDeviceInfo(CFTTJson *)
001FA1D8 CFTTAWSKinesisFirehose::AddPurchaseInfo(CFTTJson *,char const*)
*/

//??? 结构未知
struct TAnalyticsEventParams {
	wchar_t * field_0;
	int    field_4;
	int    field_8;
	int    field_C;
	int    field_10;
	int    field_14;
	int    field_18;
	int    field_1C;
	int    field_20;
	int    field_24;
	void FreeMembers() { LOGE(""); };
};

class CFTTAWSKinesisFirehose {
public:
  CFTTAWSKinesisFirehose();                                                              //001F9364
  void Init(char const *, bool);                                                         //001F9380
  void LogEvent(wchar_t const *, TAnalyticsEventParams const *, uint64_t, bool);         //001F93A8
  void CreateEventJSON(wchar_t const *, TAnalyticsEventParams const *, uint64_t, bool);  //001F93CC
  void LogPurchase(char const *, int);                                                   //001F9664
  void AddEventDefaultAttributes(CFTTJson *);                                            //001F9704
  void AddEventDefaultMetrics(CFTTJson *);                                               //001F9804
  static void SetSessionID(uint);                                                        //001F98FC
  static char *GetSessionID();                                                           //001F9918
  void SaveEvent(CFTTJson *);                                                            //001F9E50
  void AddEventApplicationInfo(CFTTJson *);                                              //001F9EE4
  void AddEventDeviceInfo(CFTTJson *);                                                   //001FA0D8
  void AddPurchaseInfo(CFTTJson *, char const *);                                        //001FA1D8
};

#endif  //_CFTTAWSKINESISFIREHOSE_H_