35 lines
999 B
C++
35 lines
999 B
C++
#pragma once
|
|
#include <atomic>
|
|
#include <cstdio>
|
|
#include <cstdlib>
|
|
#include <cstring>
|
|
#include <nxExt.h>
|
|
#include <sysclk.h>
|
|
#include <switch.h>
|
|
#include "errors.h"
|
|
#include "file_utils.h"
|
|
|
|
#include "clock_manager.h"
|
|
|
|
class ReverseNXSync {
|
|
public:
|
|
ReverseNXSync ();
|
|
|
|
void ToggleSync(bool enable) { m_sync_enabled = enable; };
|
|
void Reset(uint64_t app_id) { m_app_id = app_id; SetRTMode(ReverseNX_NotFound); GetToolMode(); }
|
|
ReverseNXMode GetRTMode() { return m_rt_mode; };
|
|
void SetRTMode(ReverseNXMode mode) { m_rt_mode = mode; };
|
|
ReverseNXMode GetToolMode() { return m_tool_mode = RecheckToolMode(); };
|
|
SysClkProfile GetProfile(SysClkProfile real);
|
|
ReverseNXMode GetMode();
|
|
|
|
protected:
|
|
std::atomic<ReverseNXMode> m_rt_mode;
|
|
ReverseNXMode m_tool_mode;
|
|
uint64_t m_app_id = 0;
|
|
bool m_tool_enabled;
|
|
bool m_sync_enabled;
|
|
|
|
ReverseNXMode GetToolModeFromPatch(const char* patch_path);
|
|
ReverseNXMode RecheckToolMode();
|
|
}; |