37 lines
1.3 KiB
OpenEdge ABL
37 lines
1.3 KiB
OpenEdge ABL
%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
|
|
}
|