|  | //===-- SWIG Interface for SBFileSpec ---------------------------*- C++ -*-===// | 
|  | // | 
|  | //                     The LLVM Compiler Infrastructure | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | namespace lldb { | 
|  |  | 
|  | %feature("docstring", | 
|  | "Represents a file specification that divides the path into a directory and | 
|  | basename.  The string values of the paths are put into uniqued string pools | 
|  | for fast comparisons and efficient memory usage. | 
|  |  | 
|  | For example, the following code | 
|  |  | 
|  | lineEntry = context.GetLineEntry() | 
|  | self.expect(lineEntry.GetFileSpec().GetDirectory(), 'The line entry should have the correct directory', | 
|  | exe=False, | 
|  | substrs = [self.mydir]) | 
|  | self.expect(lineEntry.GetFileSpec().GetFilename(), 'The line entry should have the correct filename', | 
|  | exe=False, | 
|  | substrs = ['main.c']) | 
|  | self.assertTrue(lineEntry.GetLine() == self.line, | 
|  | 'The line entry's line number should match ') | 
|  |  | 
|  | gets the line entry from the symbol context when a thread is stopped. | 
|  | It gets the file spec corresponding to the line entry and checks that | 
|  | the filename and the directory matches what we expect. | 
|  | ") SBFileSpec; | 
|  | class SBFileSpec | 
|  | { | 
|  | public: | 
|  | SBFileSpec (); | 
|  |  | 
|  | SBFileSpec (const lldb::SBFileSpec &rhs); | 
|  |  | 
|  | SBFileSpec (const char *path);// Deprecated, use SBFileSpec (const char *path, bool resolve) | 
|  |  | 
|  | SBFileSpec (const char *path, bool resolve); | 
|  |  | 
|  | ~SBFileSpec (); | 
|  |  | 
|  | bool | 
|  | IsValid() const; | 
|  |  | 
|  | bool | 
|  | Exists () const; | 
|  |  | 
|  | bool | 
|  | ResolveExecutableLocation (); | 
|  |  | 
|  | const char * | 
|  | GetFilename() const; | 
|  |  | 
|  | const char * | 
|  | GetDirectory() const; | 
|  |  | 
|  | void | 
|  | SetFilename(const char *filename); | 
|  |  | 
|  | void | 
|  | SetDirectory(const char *directory); | 
|  |  | 
|  | uint32_t | 
|  | GetPath (char *dst_path, size_t dst_len) const; | 
|  |  | 
|  | static int | 
|  | ResolvePath (const char *src_path, char *dst_path, size_t dst_len); | 
|  |  | 
|  | bool | 
|  | GetDescription (lldb::SBStream &description) const; | 
|  |  | 
|  | void | 
|  | AppendPathComponent (const char *file_or_directory); | 
|  |  | 
|  | %pythoncode %{ | 
|  | def __get_fullpath__(self): | 
|  | spec_dir = self.GetDirectory() | 
|  | spec_file = self.GetFilename() | 
|  | if spec_dir and spec_file: | 
|  | return '%s/%s' % (spec_dir, spec_file) | 
|  | elif spec_dir: | 
|  | return spec_dir | 
|  | elif spec_file: | 
|  | return spec_file | 
|  | return None | 
|  |  | 
|  | __swig_getmethods__["fullpath"] = __get_fullpath__ | 
|  | if _newclass: fullpath = property(__get_fullpath__, None, doc='''A read only property that returns the fullpath as a python string.''') | 
|  |  | 
|  | __swig_getmethods__["basename"] = GetFilename | 
|  | if _newclass: basename = property(GetFilename, None, doc='''A read only property that returns the path basename as a python string.''') | 
|  |  | 
|  | __swig_getmethods__["dirname"] = GetDirectory | 
|  | if _newclass: dirname = property(GetDirectory, None, doc='''A read only property that returns the path directory name as a python string.''') | 
|  |  | 
|  | __swig_getmethods__["exists"] = Exists | 
|  | if _newclass: exists = property(Exists, None, doc='''A read only property that returns a boolean value that indicates if the file exists.''') | 
|  | %} | 
|  |  | 
|  | }; | 
|  |  | 
|  | } // namespace lldb |