@@ -192,6 +192,7 @@ extern "C"
192192 } PluginLoadStatus;
193193
194194 typedef bool (*BNCorePluginInitFunction)(void );
195+ typedef bool (*BNScriptPluginInitFunction)(const char *, const char *);
195196 typedef void (*BNCorePluginDependencyFunction)(void );
196197 typedef uint32_t (*BNCorePluginABIVersionFunction)(void );
197198
@@ -256,8 +257,7 @@ extern "C"
256257 typedef struct BNMainThreadAction BNMainThreadAction;
257258 typedef struct BNBackgroundTask BNBackgroundTask;
258259 typedef struct BNRepository BNRepository;
259- typedef struct BNRepoPlugin BNRepoPlugin;
260- typedef struct BNRepositoryManager BNRepositoryManager;
260+ typedef struct BNPlugin BNPlugin;
261261 typedef struct BNComponent BNComponent;
262262 typedef struct BNSettings BNSettings;
263263 typedef struct BNMetadata BNMetadata;
@@ -3944,11 +3944,8 @@ extern "C"
39443944
39453945 // Plugin initialization
39463946 BINARYNINJACOREAPI bool BNInitPlugins (bool allowUserPlugins);
3947- BINARYNINJACOREAPI bool BNInitCorePlugins (void ); // Deprecated, use BNInitPlugins
39483947 BINARYNINJACOREAPI void BNDisablePlugins (void );
39493948 BINARYNINJACOREAPI bool BNIsPluginsEnabled (void );
3950- BINARYNINJACOREAPI void BNInitUserPlugins (void ); // Deprecated, use BNInitPlugins
3951- BINARYNINJACOREAPI void BNInitRepoPlugins (void );
39523949
39533950 BINARYNINJACOREAPI char * BNGetInstallDirectory (void );
39543951 BINARYNINJACOREAPI char * BNGetBundledPluginDirectory (void );
@@ -7679,75 +7676,70 @@ extern "C"
76797676 BNType** outType, BNQualifiedName* outVarName, BNBinaryView* view, bool simplify);
76807677
76817678// Plugin repository APIs
7682- BINARYNINJACOREAPI char ** BNPluginGetApis (BNRepoPlugin * p, size_t * count);
7683- BINARYNINJACOREAPI const char * BNPluginGetAuthor (BNRepoPlugin * p);
7684- BINARYNINJACOREAPI const char * BNPluginGetDescription (BNRepoPlugin * p);
7685- BINARYNINJACOREAPI const char * BNPluginGetLicenseText (BNRepoPlugin * p);
7686- BINARYNINJACOREAPI const char * BNPluginGetLongdescription (BNRepoPlugin * p);
7687- BINARYNINJACOREAPI BNVersionInfo BNPluginGetMinimumVersionInfo (BNRepoPlugin * p);
7688- BINARYNINJACOREAPI BNVersionInfo BNPluginGetMaximumVersionInfo (BNRepoPlugin * p);
7679+ BINARYNINJACOREAPI char ** BNPluginGetApis (BNPlugin * p, size_t * count);
7680+ BINARYNINJACOREAPI const char * BNPluginGetAuthor (BNPlugin * p);
7681+ BINARYNINJACOREAPI const char * BNPluginGetDescription (BNPlugin * p);
7682+ BINARYNINJACOREAPI const char * BNPluginGetLicenseText (BNPlugin * p);
7683+ BINARYNINJACOREAPI const char * BNPluginGetLongdescription (BNPlugin * p);
7684+ BINARYNINJACOREAPI BNVersionInfo BNPluginGetMinimumVersionInfo (BNPlugin * p);
7685+ BINARYNINJACOREAPI BNVersionInfo BNPluginGetMaximumVersionInfo (BNPlugin * p);
76897686 BINARYNINJACOREAPI BNVersionInfo BNParseVersionString (const char * v);
76907687 BINARYNINJACOREAPI bool BNVersionLessThan (const BNVersionInfo smaller, const BNVersionInfo larger);
7691- BINARYNINJACOREAPI const char * BNPluginGetName (BNRepoPlugin * p);
7692- BINARYNINJACOREAPI const char * BNPluginGetProjectUrl (BNRepoPlugin * p);
7693- BINARYNINJACOREAPI const char * BNPluginGetPackageUrl (BNRepoPlugin * p);
7694- BINARYNINJACOREAPI const char * BNPluginGetAuthorUrl (BNRepoPlugin * p);
7695- BINARYNINJACOREAPI const char * BNPluginGetVersion (BNRepoPlugin * p);
7696- BINARYNINJACOREAPI const char * BNPluginGetCommit (BNRepoPlugin * p);
7697- BINARYNINJACOREAPI const bool BNPluginGetViewOnly (BNRepoPlugin * p);
7688+ BINARYNINJACOREAPI const char * BNPluginGetName (BNPlugin * p);
7689+ BINARYNINJACOREAPI const char * BNPluginGetProjectUrl (BNPlugin * p);
7690+ BINARYNINJACOREAPI const char * BNPluginGetPackageUrl (BNPlugin * p);
7691+ BINARYNINJACOREAPI const char * BNPluginGetAuthorUrl (BNPlugin * p);
7692+ BINARYNINJACOREAPI const char * BNPluginGetVersion (BNPlugin * p);
7693+ BINARYNINJACOREAPI const char * BNPluginGetCommit (BNPlugin * p);
7694+ BINARYNINJACOREAPI const bool BNPluginGetViewOnly (BNPlugin * p);
76987695 BINARYNINJACOREAPI void BNFreePluginTypes (BNPluginType* r);
7699- BINARYNINJACOREAPI BNRepoPlugin * BNNewPluginReference (BNRepoPlugin * r);
7700- BINARYNINJACOREAPI void BNFreePlugin (BNRepoPlugin * plugin);
7701- BINARYNINJACOREAPI const char * BNPluginGetPath (BNRepoPlugin * p);
7702- BINARYNINJACOREAPI const char * BNPluginGetSubdir (BNRepoPlugin * p);
7703- BINARYNINJACOREAPI const char * BNPluginGetDependencies (BNRepoPlugin * p);
7704- BINARYNINJACOREAPI bool BNPluginIsInstalled (BNRepoPlugin * p);
7705- BINARYNINJACOREAPI bool BNPluginIsEnabled (BNRepoPlugin * p);
7706- BINARYNINJACOREAPI BNPluginStatus BNPluginGetPluginStatus (BNRepoPlugin * p);
7707- BINARYNINJACOREAPI BNPluginType* BNPluginGetPluginTypes (BNRepoPlugin * p, size_t * count);
7708- BINARYNINJACOREAPI bool BNPluginEnable (BNRepoPlugin * p, bool force);
7709- BINARYNINJACOREAPI bool BNPluginDisable (BNRepoPlugin * p);
7710- BINARYNINJACOREAPI bool BNPluginInstall (BNRepoPlugin * p);
7711- BINARYNINJACOREAPI bool BNPluginInstallDependencies (BNRepoPlugin * p);
7712- BINARYNINJACOREAPI bool BNPluginUninstall (BNRepoPlugin * p);
7713- BINARYNINJACOREAPI bool BNPluginUpdate (BNRepoPlugin * p);
7714- BINARYNINJACOREAPI char ** BNPluginGetPlatforms (BNRepoPlugin * p, size_t * count);
7696+ BINARYNINJACOREAPI BNPlugin * BNNewPluginReference (BNPlugin * r);
7697+ BINARYNINJACOREAPI void BNFreePlugin (BNPlugin * plugin);
7698+ BINARYNINJACOREAPI const char * BNPluginGetPath (BNPlugin * p);
7699+ BINARYNINJACOREAPI const char * BNPluginGetSubdir (BNPlugin * p);
7700+ BINARYNINJACOREAPI const char * BNPluginGetDependencies (BNPlugin * p);
7701+ BINARYNINJACOREAPI bool BNPluginIsInstalled (BNPlugin * p);
7702+ BINARYNINJACOREAPI bool BNPluginIsEnabled (BNPlugin * p);
7703+ BINARYNINJACOREAPI BNPluginStatus BNPluginGetPluginStatus (BNPlugin * p);
7704+ BINARYNINJACOREAPI BNPluginType* BNPluginGetPluginTypes (BNPlugin * p, size_t * count);
7705+ BINARYNINJACOREAPI bool BNPluginEnable (BNPlugin * p, bool force);
7706+ BINARYNINJACOREAPI bool BNPluginDisable (BNPlugin * p);
7707+ BINARYNINJACOREAPI bool BNPluginInstall (BNPlugin * p);
7708+ BINARYNINJACOREAPI bool BNPluginInstallDependencies (BNPlugin * p);
7709+ BINARYNINJACOREAPI bool BNPluginUninstall (BNPlugin * p);
7710+ BINARYNINJACOREAPI bool BNPluginUpdate (BNPlugin * p);
7711+ BINARYNINJACOREAPI char ** BNPluginGetPlatforms (BNPlugin * p, size_t * count);
77157712 BINARYNINJACOREAPI void BNFreePluginPlatforms (char ** platforms, size_t count);
7716- BINARYNINJACOREAPI const char * BNPluginGetRepository (BNRepoPlugin * p);
7717- BINARYNINJACOREAPI bool BNPluginIsBeingDeleted (BNRepoPlugin * p);
7718- BINARYNINJACOREAPI bool BNPluginIsBeingUpdated (BNRepoPlugin * p);
7719- BINARYNINJACOREAPI bool BNPluginIsRunning (BNRepoPlugin * p);
7720- BINARYNINJACOREAPI bool BNPluginIsUpdatePending (BNRepoPlugin * p);
7721- BINARYNINJACOREAPI bool BNPluginIsDisablePending (BNRepoPlugin * p);
7722- BINARYNINJACOREAPI bool BNPluginIsDeletePending (BNRepoPlugin * p);
7723- BINARYNINJACOREAPI bool BNPluginIsUpdateAvailable (BNRepoPlugin * p);
7724- BINARYNINJACOREAPI bool BNPluginAreDependenciesBeingInstalled (BNRepoPlugin * p);
7725-
7726- BINARYNINJACOREAPI char * BNPluginGetProjectData (BNRepoPlugin * p);
7727- BINARYNINJACOREAPI uint64_t BNPluginGetLastUpdate (BNRepoPlugin * p);
7713+ BINARYNINJACOREAPI const char * BNPluginGetRepository (BNPlugin * p);
7714+ BINARYNINJACOREAPI bool BNPluginIsBeingDeleted (BNPlugin * p);
7715+ BINARYNINJACOREAPI bool BNPluginIsBeingUpdated (BNPlugin * p);
7716+ BINARYNINJACOREAPI bool BNPluginIsRunning (BNPlugin * p);
7717+ BINARYNINJACOREAPI bool BNPluginIsUpdatePending (BNPlugin * p);
7718+ BINARYNINJACOREAPI bool BNPluginIsDisablePending (BNPlugin * p);
7719+ BINARYNINJACOREAPI bool BNPluginIsDeletePending (BNPlugin * p);
7720+ BINARYNINJACOREAPI bool BNPluginIsUpdateAvailable (BNPlugin * p);
7721+ BINARYNINJACOREAPI bool BNPluginAreDependenciesBeingInstalled (BNPlugin * p);
7722+
7723+ BINARYNINJACOREAPI char * BNPluginGetProjectData (BNPlugin * p);
7724+ BINARYNINJACOREAPI uint64_t BNPluginGetLastUpdate (BNPlugin * p);
77287725
77297726 BINARYNINJACOREAPI BNRepository* BNNewRepositoryReference (BNRepository* r);
77307727 BINARYNINJACOREAPI void BNFreeRepository (BNRepository* r);
77317728 BINARYNINJACOREAPI char * BNRepositoryGetUrl (BNRepository* r);
77327729 BINARYNINJACOREAPI char * BNRepositoryGetRepoPath (BNRepository* r);
7733- BINARYNINJACOREAPI BNRepoPlugin ** BNRepositoryGetPlugins (BNRepository* r, size_t * count);
7734- BINARYNINJACOREAPI void BNFreeRepositoryPluginList (BNRepoPlugin ** r);
7730+ BINARYNINJACOREAPI BNPlugin ** BNRepositoryGetPlugins (BNRepository* r, size_t * count);
7731+ BINARYNINJACOREAPI void BNFreeRepositoryPluginList (BNPlugin ** r);
77357732 BINARYNINJACOREAPI void BNRepositoryFreePluginDirectoryList (char ** list, size_t count);
7736- BINARYNINJACOREAPI BNRepoPlugin * BNRepositoryGetPluginByPath (BNRepository* r, const char * pluginPath);
7733+ BINARYNINJACOREAPI BNPlugin * BNRepositoryGetPluginByPath (BNRepository* r, const char * pluginPath);
77377734 BINARYNINJACOREAPI const char * BNRepositoryGetPluginsPath (BNRepository* r);
77387735
7739- BINARYNINJACOREAPI BNRepositoryManager* BNCreateRepositoryManager (const char * enabledPluginsPath);
7740- BINARYNINJACOREAPI BNRepositoryManager* BNNewRepositoryManagerReference (BNRepositoryManager* r);
7741- BINARYNINJACOREAPI void BNFreeRepositoryManager (BNRepositoryManager* r);
7742- BINARYNINJACOREAPI bool BNRepositoryManagerCheckForUpdates (BNRepositoryManager* r);
7743- BINARYNINJACOREAPI BNRepository** BNRepositoryManagerGetRepositories (BNRepositoryManager* r, size_t * count);
7736+ BINARYNINJACOREAPI bool BNRepositoryManagerCheckForUpdates ();
7737+ BINARYNINJACOREAPI BNRepository** BNRepositoryManagerGetRepositories (size_t * count);
77447738 BINARYNINJACOREAPI void BNFreeRepositoryManagerRepositoriesList (BNRepository** r);
7745- BINARYNINJACOREAPI bool BNRepositoryManagerAddRepository (
7746- BNRepositoryManager* r, const char * url, const char * repoPath);
7747- BINARYNINJACOREAPI BNRepository* BNRepositoryGetRepositoryByPath (BNRepositoryManager* r, const char * repoPath);
7748- BINARYNINJACOREAPI BNRepositoryManager* BNGetRepositoryManager (void );
7739+ BINARYNINJACOREAPI bool BNRepositoryManagerAddRepository (const char * url, const char * repoPath);
7740+ BINARYNINJACOREAPI BNRepository* BNRepositoryGetRepositoryByPath (const char * repoPath);
77497741
7750- BINARYNINJACOREAPI BNRepository* BNRepositoryManagerGetDefaultRepository (BNRepositoryManager* r );
7742+ BINARYNINJACOREAPI BNRepository* BNRepositoryManagerGetDefaultRepository ();
77517743
77527744 // Components
77537745
0 commit comments