#pragma once #include "binaryninjaapi.h" #ifdef __GNUC__ # ifdef BINARYNINJAUI_LIBRARY # define BINARYNINJAUIAPI __attribute__((visibility("default"))) # else # define BINARYNINJAUIAPI # endif #else #ifdef _MSC_VER # ifndef DEMO_VERSION # ifdef BINARYNINJAUI_LIBRARY # define BINARYNINJAUIAPI __declspec(dllexport) # else # define BINARYNINJAUIAPI __declspec(dllimport) # endif # else # define BINARYNINJAUIAPI # endif #else #define BINARYNINJAUIAPI #endif #endif #ifdef BINARYNINJAUI_PYTHON_BINDINGS #include "bindings.h" #endif // The Python bindings generator does not recognize automatic conversion of API types into their // Python equivalents if using templates (Ref<*>), so we typedef all API references so that // the Python bindings can be easily generated for them. typedef BinaryNinja::Ref ArchitectureRef; typedef BinaryNinja::Ref BackgroundTaskRef; typedef BinaryNinja::Ref BasicBlockRef; typedef BinaryNinja::Ref BinaryDataRef; typedef BinaryNinja::Ref BinaryViewRef; typedef BinaryNinja::Ref BinaryViewTypeRef; typedef BinaryNinja::Ref DisassemblySettingsRef; typedef BinaryNinja::Ref DownloadProviderRef; typedef BinaryNinja::Ref FileMetadataRef; typedef BinaryNinja::Ref FlowGraphRef; typedef BinaryNinja::Ref FlowGraphLayoutRequestRef; typedef BinaryNinja::Ref FlowGraphNodeRef; typedef BinaryNinja::Ref FunctionRef; typedef BinaryNinja::Ref LowLevelILFunctionRef; typedef BinaryNinja::Ref MainThreadActionRef; typedef BinaryNinja::Ref MediumLevelILFunctionRef; typedef BinaryNinja::Ref PlatformRef; typedef BinaryNinja::Ref ReportCollectionRef; typedef BinaryNinja::Ref ScriptingInstanceRef; typedef BinaryNinja::Ref ScriptingProviderRef; typedef BinaryNinja::Ref SectionRef; typedef BinaryNinja::Ref SegmentRef; typedef BinaryNinja::Ref StructureRef; typedef BinaryNinja::Ref SymbolRef; typedef BinaryNinja::Ref TemporaryFileRef; typedef BinaryNinja::Ref TransformRef; typedef BinaryNinja::Ref TypeRef; typedef BinaryNinja::Ref RepoPluginRef; typedef BinaryNinja::Ref RepositoryRef; typedef BinaryNinja::Ref RepositoryManagerRef;