Loading...
Searching...
No Matches
BinaryNinja::Project Class Reference

Public Member Functions

 Project (BNProject *project)
bool Open ()
bool Close ()
std::string GetId () const
bool IsOpen () const
std::string GetPath () const
std::string GetFilePathInProject (const Ref< ProjectFile > &file) const
std::string GetName () const
bool SetName (const std::string &name)
std::string GetDescription () const
bool SetDescription (const std::string &description)
Ref< MetadataQueryMetadata (const std::string &key)
bool StoreMetadata (const std::string &key, Ref< Metadata > value)
bool RemoveMetadata (const std::string &key)
Ref< ProjectFolderCreateFolderFromPath (const std::string &path, Ref< ProjectFolder > parent, const std::string &description, const ProgressFunction &progressCallback={})
Ref< ProjectFolderCreateFolder (Ref< ProjectFolder > parent, const std::string &name, const std::string &description)
Ref< ProjectFolderCreateFolderUnsafe (Ref< ProjectFolder > parent, const std::string &name, const std::string &description, const std::string &id)
std::vector< Ref< ProjectFolder > > GetFolders () const
Ref< ProjectFolderGetFolderById (const std::string &id) const
bool PushFolder (Ref< ProjectFolder > folder)
bool DeleteFolder (Ref< ProjectFolder > folder, const ProgressFunction &progressCallback={})
Ref< ProjectFileCreateFileFromPath (const std::string &path, Ref< ProjectFolder > folder, const std::string &name, const std::string &description, const ProgressFunction &progressCallback={})
Ref< ProjectFileCreateFileFromPathUnsafe (const std::string &path, Ref< ProjectFolder > folder, const std::string &name, const std::string &description, const std::string &id, int64_t creationTimestamp, const ProgressFunction &progressCallback={})
Ref< ProjectFileCreateFile_ (const std::vector< uint8_t > &contents, Ref< ProjectFolder > folder, const std::string &name, const std::string &description, const ProgressFunction &progressCallback={})
Ref< ProjectFileCreateFileUnsafe (const std::vector< uint8_t > &contents, Ref< ProjectFolder > folder, const std::string &name, const std::string &description, const std::string &id, int64_t creationTimestamp, const ProgressFunction &progressCallback={})
std::vector< Ref< ProjectFile > > GetFiles () const
Ref< ProjectFileGetFileById (const std::string &id) const
Ref< ProjectFileGetFileByPathOnDisk (const std::string &path) const
std::vector< Ref< ProjectFile > > GetFilesByPathInProject (const std::string &path) const
bool PushFile (Ref< ProjectFile > file)
bool DeleteFile_ (Ref< ProjectFile > file)
void RegisterNotification (ProjectNotification *notify)
void UnregisterNotification (ProjectNotification *notify)
bool BeginBulkOperation ()
bool EndBulkOperation ()
Ref< Collaboration::RemoteProjectGetRemoteProject ()
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNProject, BNNewProjectReference, BNFreeProject >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNProjectGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

Static Public Member Functions

static Ref< ProjectCreateProject (const std::string &path, const std::string &name)
static Ref< ProjectOpenProject (const std::string &path)
static std::vector< Ref< Project > > GetOpenProjects ()

Additional Inherited Members

Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNProject, BNNewProjectReference, BNFreeProject >
std::atomic< int > m_refs
bool m_registeredRef
BNProjectm_object

Constructor & Destructor Documentation

◆ Project()

Project::Project ( BNProject * project)

Member Function Documentation

◆ CreateProject()

Ref< Project > Project::CreateProject ( const std::string & path,
const std::string & name )
static

◆ OpenProject()

Ref< Project > Project::OpenProject ( const std::string & path)
static

◆ GetOpenProjects()

std::vector< Ref< Project > > Project::GetOpenProjects ( )
static

◆ Open()

bool Project::Open ( )

◆ Close()

bool Project::Close ( )

◆ GetId()

std::string Project::GetId ( ) const

◆ IsOpen()

bool Project::IsOpen ( ) const

◆ GetPath()

std::string Project::GetPath ( ) const

◆ GetFilePathInProject()

std::string Project::GetFilePathInProject ( const Ref< ProjectFile > & file) const

◆ GetName()

std::string Project::GetName ( ) const

◆ SetName()

bool Project::SetName ( const std::string & name)

◆ GetDescription()

std::string Project::GetDescription ( ) const

◆ SetDescription()

bool Project::SetDescription ( const std::string & description)

◆ QueryMetadata()

Ref< Metadata > Project::QueryMetadata ( const std::string & key)

◆ StoreMetadata()

bool Project::StoreMetadata ( const std::string & key,
Ref< Metadata > value )

◆ RemoveMetadata()

bool Project::RemoveMetadata ( const std::string & key)

◆ CreateFolderFromPath()

Ref< ProjectFolder > Project::CreateFolderFromPath ( const std::string & path,
Ref< ProjectFolder > parent,
const std::string & description,
const ProgressFunction & progressCallback = {} )

◆ CreateFolder()

Ref< ProjectFolder > Project::CreateFolder ( Ref< ProjectFolder > parent,
const std::string & name,
const std::string & description )

◆ CreateFolderUnsafe()

Ref< ProjectFolder > Project::CreateFolderUnsafe ( Ref< ProjectFolder > parent,
const std::string & name,
const std::string & description,
const std::string & id )

◆ GetFolders()

std::vector< Ref< ProjectFolder > > Project::GetFolders ( ) const

◆ GetFolderById()

Ref< ProjectFolder > Project::GetFolderById ( const std::string & id) const

◆ PushFolder()

bool Project::PushFolder ( Ref< ProjectFolder > folder)

◆ DeleteFolder()

bool Project::DeleteFolder ( Ref< ProjectFolder > folder,
const ProgressFunction & progressCallback = {} )

◆ CreateFileFromPath()

Ref< ProjectFile > Project::CreateFileFromPath ( const std::string & path,
Ref< ProjectFolder > folder,
const std::string & name,
const std::string & description,
const ProgressFunction & progressCallback = {} )

◆ CreateFileFromPathUnsafe()

Ref< ProjectFile > Project::CreateFileFromPathUnsafe ( const std::string & path,
Ref< ProjectFolder > folder,
const std::string & name,
const std::string & description,
const std::string & id,
int64_t creationTimestamp,
const ProgressFunction & progressCallback = {} )

◆ CreateFile_()

Ref< ProjectFile > Project::CreateFile_ ( const std::vector< uint8_t > & contents,
Ref< ProjectFolder > folder,
const std::string & name,
const std::string & description,
const ProgressFunction & progressCallback = {} )

◆ CreateFileUnsafe()

Ref< ProjectFile > Project::CreateFileUnsafe ( const std::vector< uint8_t > & contents,
Ref< ProjectFolder > folder,
const std::string & name,
const std::string & description,
const std::string & id,
int64_t creationTimestamp,
const ProgressFunction & progressCallback = {} )

◆ GetFiles()

std::vector< Ref< ProjectFile > > Project::GetFiles ( ) const

◆ GetFileById()

Ref< ProjectFile > Project::GetFileById ( const std::string & id) const

◆ GetFileByPathOnDisk()

Ref< ProjectFile > Project::GetFileByPathOnDisk ( const std::string & path) const

◆ GetFilesByPathInProject()

std::vector< Ref< ProjectFile > > Project::GetFilesByPathInProject ( const std::string & path) const

◆ PushFile()

bool Project::PushFile ( Ref< ProjectFile > file)

◆ DeleteFile_()

bool Project::DeleteFile_ ( Ref< ProjectFile > file)

◆ RegisterNotification()

void Project::RegisterNotification ( ProjectNotification * notify)

◆ UnregisterNotification()

void Project::UnregisterNotification ( ProjectNotification * notify)

◆ BeginBulkOperation()

bool Project::BeginBulkOperation ( )

◆ EndBulkOperation()

bool Project::EndBulkOperation ( )

◆ GetRemoteProject()

Ref< Collaboration::RemoteProject > Project::GetRemoteProject ( )