%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 }