1 //===-- SBFileSpec.h --------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBFileSpec_h_
11 #define LLDB_SBFileSpec_h_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBFileSpec
22 SBFileSpec (const lldb::SBFileSpec &rhs);
24 SBFileSpec (const char *path);// Deprecated, use SBFileSpec (const char *path, bool resolve)
26 SBFileSpec (const char *path, bool resolve);
31 operator = (const lldb::SBFileSpec &rhs);
40 ResolveExecutableLocation ();
49 SetFilename(const char *filename);
52 SetDirectory(const char *directory);
55 GetPath (char *dst_path, size_t dst_len) const;
58 ResolvePath (const char *src_path, char *dst_path, size_t dst_len);
61 GetDescription (lldb::SBStream &description) const;
64 AppendPathComponent (const char *file_or_directory);
67 friend class SBAttachInfo;
69 friend class SBCommandInterpreter;
70 friend class SBCompileUnit;
71 friend class SBDeclaration;
72 friend class SBFileSpecList;
73 friend class SBHostOS;
74 friend class SBLaunchInfo;
75 friend class SBLineEntry;
76 friend class SBModule;
77 friend class SBModuleSpec;
78 friend class SBPlatform;
79 friend class SBProcess;
80 friend class SBSourceManager;
81 friend class SBThread;
82 friend class SBTarget;
84 SBFileSpec (const lldb_private::FileSpec& fspec);
87 SetFileSpec (const lldb_private::FileSpec& fspec);
89 const lldb_private::FileSpec *
92 const lldb_private::FileSpec *
95 const lldb_private::FileSpec &
98 const lldb_private::FileSpec &
101 std::unique_ptr<lldb_private::FileSpec> m_opaque_ap;
107 #endif // LLDB_SBFileSpec_h_