BinaryNinja::Enterprise::LicenseCheckout Class Reference

RAII object for holding an Enterprise floating license in a scope. More...

Detailed Description

RAII object for holding an Enterprise floating license in a scope.

Automatically releases the license when destroyed.


using namespace BinaryNinja;
assert(Enterprise::AuthenticateWithCredentials("username", "password", true));
Ref<BinaryView> bv = Load("/bin/ls", true, {}, options);
printf("%llx\n", bv->GetStart());
// License is released at end of scope
RAII object for holding an Enterprise floating license in a scope.
Definition: enterprise.h:219
Definition: binaryninjaapi.h:232
bool Connect()
Perform initial connect to the server, pulling signing key and time limit.
Definition: enterprise.cpp:69
bool AuthenticateWithCredentials(const std::string &username, const std::string &password, bool remember)
Authenticate to the Enterprise server with username and password.
Definition: enterprise.cpp:26
Definition: binaryninjaapi.h:60
Ref< BinaryView > Load(const std::string &filename, bool updateAnalysis=true, std::function< bool(size_t, size_t)> progress={}, Ref< Metadata > options=new Metadata(MetadataType::KeyValueDataType))
OpenView opens a file on disk and returns a BinaryView, attempting to use the most relevant BinaryVie...
Definition: binaryview.cpp:4670

Public Member Functions

 LicenseCheckout (int64_t duration=900)
 RAII constructor that checks out a license. More...
 ~LicenseCheckout ()

Constructor & Destructor Documentation

◆ LicenseCheckout()

BinaryNinja::Enterprise::LicenseCheckout::LicenseCheckout ( int64_t  duration = 900)

RAII constructor that checks out a license.

License will be refreshed automatically in a background thread while checked out, in intervals of `duration` In the event of program crash, the license will expire `duration` seconds after the most recent background refresh, so you may want a smaller value like 60 if you expect your program to crash / be killed often. See class docs for example usage.

durationDuration for refreshes and also length of each license checkout.
EnterpriseExceptionIf license checkout fails

◆ ~LicenseCheckout()

BinaryNinja::Enterprise::LicenseCheckout::~LicenseCheckout ( )