diff options
| -rw-r--r-- | binaryninjaapi.h | 9 | ||||
| -rw-r--r-- | update.cpp | 28 |
2 files changed, 37 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 04749e97..27e2c565 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -1356,4 +1356,13 @@ namespace BinaryNinja static std::vector<UpdateChannel> GetList(); }; + + struct UpdateVersion + { + std::string version; + std::string notes; + time_t time; + + static std::vector<UpdateVersion> GetChannelVersions(const std::string& channel); + }; } @@ -30,3 +30,31 @@ vector<UpdateChannel> UpdateChannel::GetList() BNFreeUpdateChannelList(channels, count); return result; } + + +vector<UpdateVersion> UpdateVersion::GetChannelVersions(const string& channel) +{ + size_t count; + char* errors; + BNUpdateVersion* versions = BNGetUpdateChannelVersions(channel.c_str(), &count, &errors); + + if (errors) + { + string errorStr = errors; + BNFreeString(errors); + throw UpdateException(errorStr); + } + + vector<UpdateVersion> result; + for (size_t i = 0; i < count; i++) + { + UpdateVersion version; + version.version = versions[i].version; + version.notes = versions[i].notes; + version.time = (time_t)versions[i].time; + result.push_back(version); + } + + BNFreeUpdateChannelVersionList(versions, count); + return result; +} |
