MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / ProjectFolder

Class ProjectFolder

python/project.py:194–310  ·  view source on GitHub ↗

Class representing a folder in a project

Source from the content-addressed store, hash-verified

192
193
194class ProjectFolder:
195 """
196 Class representing a folder in a project
197 """
198 def __init__(self, handle: core.BNProjectFolderHandle):
199 self._handle = handle
200
201 def __del__(self):
202 if core is not None:
203 core.BNFreeProjectFolder(self._handle)
204
205 def __repr__(self) -> str:
206 path = self.name
207 parent = self.parent
208 while parent is not None:
209 path = parent.name + '/' + path
210 parent = parent.parent
211 return f'<ProjectFolder: {self.project.name}/{path}>'
212
213 def __str__(self) -> str:
214 path = self.name
215 parent = self.parent
216 while parent is not None:
217 path = parent.name + '/' + path
218 parent = parent.parent
219 return f'<ProjectFolder: {self.project.name}/{path}>'
220
221 @property
222 def project(self) -> 'Project':
223 """
224 Get the project that owns this folder
225
226 :return: Project that owns this folder
227 """
228 proj_handle = core.BNProjectFolderGetProject(self._handle)
229
230 if proj_handle is None:
231 raise ProjectException("Failed to get project for folder")
232
233 return Project(handle=proj_handle)
234
235 @property
236 def id(self) -> str:
237 """
238 Get the unique id of this folder
239
240 :return: Unique identifier of this folder
241 """
242 return core.BNProjectFolderGetId(self._handle) # type: ignore
243
244 @property
245 def name(self) -> str:
246 """
247 Get the name of this folder
248
249 :return: Name of this folder
250 """
251 return core.BNProjectFolderGetName(self._handle) # type: ignore

Callers 6

folderMethod · 0.70
parentMethod · 0.70
create_folderMethod · 0.70
foldersMethod · 0.70
get_folder_by_idMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected