BinaryNinja::Collaboration::RemoteProject Class Reference

Public Member Functions

 RemoteProject (BNRemoteProject *remoteProject)
 
Ref< ProjectGetCoreProject ()
 
bool IsOpen ()
 
bool Open (std::function< bool(size_t, size_t)> progress={})
 
void Close ()
 
Ref< RemoteGetRemote ()
 
std::string GetUrl ()
 
int64_t GetCreated ()
 
int64_t GetLastModified ()
 
std::string GetId ()
 
std::string GetName ()
 
void SetName (const std::string &name)
 
std::string GetDescription ()
 
void SetDescription (const std::string &description)
 
uint64_t GetReceivedFileCount ()
 
uint64_t GetReceivedFolderCount ()
 
bool HasPulledFiles ()
 
bool HasPulledGroupPermissions ()
 
bool HasPulledUserPermissions ()
 
bool IsAdmin ()
 
std::vector< Ref< RemoteFile > > GetFiles ()
 
std::vector< Ref< RemoteFolder > > GetFolders ()
 
Ref< RemoteFileGetFileById (const std::string &id)
 
Ref< RemoteFileGetFileByName (const std::string &name)
 
void PullFiles (std::function< bool(size_t, size_t)> progress={})
 
void PullFolders (std::function< bool(size_t, size_t)> progress={})
 
Ref< RemoteFileCreateFile (const std::string &filename, std::vector< uint8_t > &contents, const std::string &name, const std::string &description, Ref< RemoteFolder > folder, BNRemoteFileType type, std::function< bool(size_t, size_t)> progress={}, Ref< ProjectFile > coreFile=nullptr)
 
Ref< RemoteFolderCreateFolder (const std::string &name, const std::string &description, Ref< RemoteFolder > parent, std::function< bool(size_t, size_t)> progress={}, Ref< ProjectFolder > coreFolder=nullptr)
 
void PushFile (Ref< RemoteFile > file, const std::vector< std::pair< std::string, std::string > > &extraFields={})
 
void PushFolder (Ref< RemoteFolder > folder, const std::vector< std::pair< std::string, std::string > > &extraFields={})
 
void DeleteFolder (const Ref< RemoteFolder > folder)
 
void DeleteFile (const Ref< RemoteFile > file)
 
Ref< RemoteFolderGetFolderById (const std::string &id)
 
std::vector< Ref< CollabPermission > > GetGroupPermissions ()
 
std::vector< Ref< CollabPermission > > GetUserPermissions ()
 
Ref< CollabPermissionGetPermissionById (const std::string &id)
 
void PullGroupPermissions (std::function< bool(size_t, size_t)> progress={})
 
void PullUserPermissions (std::function< bool(size_t, size_t)> progress={})
 
Ref< CollabPermissionCreateGroupPermission (int groupId, BNCollaborationPermissionLevel level, std::function< bool(size_t, size_t)> progress={})
 
Ref< CollabPermissionCreateUserPermission (const std::string &userId, BNCollaborationPermissionLevel level, std::function< bool(size_t, size_t)> progress={})
 
void PushPermission (Ref< CollabPermission > permission, const std::vector< std::pair< std::string, std::string > > &extraFields={})
 
void DeletePermission (Ref< CollabPermission > permission)
 
bool CanUserView (const std::string &username)
 
bool CanUserEdit (const std::string &username)
 
bool CanUserAdmin (const std::string &username)
 
- Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNRemoteProject, BNNewRemoteProjectReference, BNFreeRemoteProject >
 CoreRefCountObject ()
 
virtual ~CoreRefCountObject ()
 
BNRemoteProjectGetObject () const
 
void AddRef ()
 
void Release ()
 
void AddRefForRegistration ()
 
void ReleaseForRegistration ()
 
void AddRefForCallback ()
 
void ReleaseForCallback ()
 

Additional Inherited Members

- Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNRemoteProject, BNNewRemoteProjectReference, BNFreeRemoteProject >
static BNRemoteProjectGetObject (CoreRefCountObject *obj)
 
static BNRemoteProjectGetObject (const CoreRefCountObject *obj)
 
- Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNRemoteProject, BNNewRemoteProjectReference, BNFreeRemoteProject >
std::atomic< int > m_refs
 
bool m_registeredRef
 
BNRemoteProjectm_object
 

Constructor & Destructor Documentation

◆ RemoteProject()

RemoteProject::RemoteProject ( BNRemoteProject remoteProject)

Member Function Documentation

◆ GetCoreProject()

Ref< Project > RemoteProject::GetCoreProject ( )

◆ IsOpen()

bool RemoteProject::IsOpen ( )

◆ Open()

bool RemoteProject::Open ( std::function< bool(size_t, size_t)>  progress = {})

◆ Close()

void RemoteProject::Close ( )

◆ GetRemote()

Ref< Remote > RemoteProject::GetRemote ( )

◆ GetUrl()

std::string RemoteProject::GetUrl ( )

◆ GetCreated()

int64_t RemoteProject::GetCreated ( )

◆ GetLastModified()

int64_t RemoteProject::GetLastModified ( )

◆ GetId()

std::string RemoteProject::GetId ( )

◆ GetName()

std::string RemoteProject::GetName ( )

◆ SetName()

void RemoteProject::SetName ( const std::string &  name)

◆ GetDescription()

std::string RemoteProject::GetDescription ( )

◆ SetDescription()

void RemoteProject::SetDescription ( const std::string &  description)

◆ GetReceivedFileCount()

uint64_t RemoteProject::GetReceivedFileCount ( )

◆ GetReceivedFolderCount()

uint64_t RemoteProject::GetReceivedFolderCount ( )

◆ HasPulledFiles()

bool RemoteProject::HasPulledFiles ( )

◆ HasPulledGroupPermissions()

bool RemoteProject::HasPulledGroupPermissions ( )

◆ HasPulledUserPermissions()

bool RemoteProject::HasPulledUserPermissions ( )

◆ IsAdmin()

bool RemoteProject::IsAdmin ( )

◆ GetFiles()

std::vector< Ref< RemoteFile > > RemoteProject::GetFiles ( )

◆ GetFolders()

std::vector< Ref< RemoteFolder > > RemoteProject::GetFolders ( )

◆ GetFileById()

Ref< RemoteFile > RemoteProject::GetFileById ( const std::string &  id)

◆ GetFileByName()

Ref< RemoteFile > RemoteProject::GetFileByName ( const std::string &  name)

◆ PullFiles()

void RemoteProject::PullFiles ( std::function< bool(size_t, size_t)>  progress = {})

◆ PullFolders()

void RemoteProject::PullFolders ( std::function< bool(size_t, size_t)>  progress = {})

◆ CreateFile()

Ref< RemoteFile > RemoteProject::CreateFile ( const std::string &  filename,
std::vector< uint8_t > &  contents,
const std::string &  name,
const std::string &  description,
Ref< RemoteFolder folder,
BNRemoteFileType  type,
std::function< bool(size_t, size_t)>  progress = {},
Ref< ProjectFile coreFile = nullptr 
)

◆ CreateFolder()

Ref< RemoteFolder > RemoteProject::CreateFolder ( const std::string &  name,
const std::string &  description,
Ref< RemoteFolder parent,
std::function< bool(size_t, size_t)>  progress = {},
Ref< ProjectFolder coreFolder = nullptr 
)

◆ PushFile()

void RemoteProject::PushFile ( Ref< RemoteFile file,
const std::vector< std::pair< std::string, std::string > > &  extraFields = {} 
)

◆ PushFolder()

void RemoteProject::PushFolder ( Ref< RemoteFolder folder,
const std::vector< std::pair< std::string, std::string > > &  extraFields = {} 
)

◆ DeleteFolder()

void RemoteProject::DeleteFolder ( const Ref< RemoteFolder folder)

◆ DeleteFile()

void RemoteProject::DeleteFile ( const Ref< RemoteFile file)

◆ GetFolderById()

Ref< RemoteFolder > RemoteProject::GetFolderById ( const std::string &  id)

◆ GetGroupPermissions()

std::vector< Ref< CollabPermission > > RemoteProject::GetGroupPermissions ( )

◆ GetUserPermissions()

std::vector< Ref< CollabPermission > > RemoteProject::GetUserPermissions ( )

◆ GetPermissionById()

Ref< CollabPermission > RemoteProject::GetPermissionById ( const std::string &  id)

◆ PullGroupPermissions()

void RemoteProject::PullGroupPermissions ( std::function< bool(size_t, size_t)>  progress = {})

◆ PullUserPermissions()

void RemoteProject::PullUserPermissions ( std::function< bool(size_t, size_t)>  progress = {})

◆ CreateGroupPermission()

Ref< CollabPermission > RemoteProject::CreateGroupPermission ( int  groupId,
BNCollaborationPermissionLevel  level,
std::function< bool(size_t, size_t)>  progress = {} 
)

◆ CreateUserPermission()

Ref< CollabPermission > RemoteProject::CreateUserPermission ( const std::string &  userId,
BNCollaborationPermissionLevel  level,
std::function< bool(size_t, size_t)>  progress = {} 
)

◆ PushPermission()

void RemoteProject::PushPermission ( Ref< CollabPermission permission,
const std::vector< std::pair< std::string, std::string > > &  extraFields = {} 
)

◆ DeletePermission()

void RemoteProject::DeletePermission ( Ref< CollabPermission permission)

◆ CanUserView()

bool RemoteProject::CanUserView ( const std::string &  username)

◆ CanUserEdit()

bool RemoteProject::CanUserEdit ( const std::string &  username)

◆ CanUserAdmin()

bool RemoteProject::CanUserAdmin ( const std::string &  username)