| %extend lldb::SBFile { | |
| static lldb::SBFile MakeBorrowed(lldb::FileSP BORROWED) { | |
| return lldb::SBFile(BORROWED); | |
| } | |
| static lldb::SBFile MakeForcingIOMethods(lldb::FileSP FORCE_IO_METHODS) { | |
| return lldb::SBFile(FORCE_IO_METHODS); | |
| } | |
| static lldb::SBFile MakeBorrowedForcingIOMethods(lldb::FileSP BORROWED_FORCE_IO_METHODS) { | |
| return lldb::SBFile(BORROWED_FORCE_IO_METHODS); | |
| } | |
| #ifdef SWIGPYTHON | |
| %pythoncode { | |
| @classmethod | |
| def Create(cls, file, borrow=False, force_io_methods=False): | |
| """ | |
| Create a SBFile from a python file object, with options. | |
| If borrow is set then the underlying file will | |
| not be closed when the SBFile is closed or destroyed. | |
| If force_scripting_io is set then the python read/write | |
| methods will be called even if a file descriptor is available. | |
| """ | |
| if borrow: | |
| if force_io_methods: | |
| return cls.MakeBorrowedForcingIOMethods(file) | |
| else: | |
| return cls.MakeBorrowed(file) | |
| else: | |
| if force_io_methods: | |
| return cls.MakeForcingIOMethods(file) | |
| else: | |
| return cls(file) | |
| } | |
| #endif | |
| } |