You've already forked pico-loader
mirror of
https://github.com/LNH-team/pico-loader.git
synced 2026-01-09 16:28:35 -08:00
29 lines
1.1 KiB
C++
29 lines
1.1 KiB
C++
#pragma once
|
|
#include "SdkVersion.h"
|
|
|
|
/// @brief Class representing a function signature with a minimum and maximum SDK version.
|
|
class FunctionSignature
|
|
{
|
|
public:
|
|
consteval FunctionSignature(const u32 pattern[4], SdkVersion minSdkVersion, SdkVersion maxSdkVersion)
|
|
: _pattern { pattern[0], pattern[1], pattern[2], pattern[3] }
|
|
, _minSdkVersion(minSdkVersion), _maxSdkVersion(maxSdkVersion) { }
|
|
|
|
/// @brief Returns the pattern of the function signature.
|
|
/// @return The pattern of the function signature.
|
|
constexpr const u32* GetPattern() const { return _pattern; }
|
|
|
|
/// @brief Returns the minimum SDK version of this function signature.
|
|
/// @return The minimum SDK version of this function signature.
|
|
constexpr SdkVersion GetMinimumSdkVersion() const { return _minSdkVersion; }
|
|
|
|
/// @brief Returns the maximum SDK version of this function signature.
|
|
/// @return The maximum SDK version of this function signature.
|
|
constexpr SdkVersion GetMaximumSdkVersion() const { return _maxSdkVersion; }
|
|
|
|
private:
|
|
const u32 _pattern[4];
|
|
const SdkVersion _minSdkVersion;
|
|
const SdkVersion _maxSdkVersion;
|
|
};
|