LLDB API Documentation

- Main Page
- Namespaces
- Classes
- Files

- File List

SBFileSpec.h
Go to the documentation of this file.
1 //===-- SBFileSpec.h --------------------------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #ifndef LLDB_SBFileSpec_h_
11 #define LLDB_SBFileSpec_h_
12
13 #include "lldb/API/SBDefines.h"
14
15 namespace lldb {
16
17 class SBFileSpec
18 {
19 public:
20 SBFileSpec ();
21
22 SBFileSpec (const lldb::SBFileSpec &rhs);
23
24 SBFileSpec (const char *path);// Deprected, use SBFileSpec (const char *path, bool resolve)
25
26 SBFileSpec (const char *path, bool resolve);
27
28 ~SBFileSpec ();
29
30 const SBFileSpec &
31 operator = (const lldb::SBFileSpec &rhs);
32
33 bool
34 IsValid() const;
35
36 bool
37 Exists () const;
38
39 bool
40 ResolveExecutableLocation ();
41
42 const char *
43 GetFilename() const;
44
45 const char *
46 GetDirectory() const;
47
48 uint32_t
49 GetPath (char *dst_path, size_t dst_len) const;
50
51 static int
52 ResolvePath (const char *src_path, char *dst_path, size_t dst_len);
53
54 bool
55 GetDescription (lldb::SBStream &description) const;
56
57 private:
58 friend class SBAttachInfo;
59 friend class SBBlock;
60 friend class SBCompileUnit;
61 friend class SBDeclaration;
62 friend class SBFileSpecList;
63 friend class SBHostOS;
64 friend class SBLaunchInfo;
65 friend class SBLineEntry;
66 friend class SBModule;
67 friend class SBModuleSpec;
68 friend class SBProcess;
69 friend class SBSourceManager;
70 friend class SBThread;
71 friend class SBTarget;
72
73 SBFileSpec (const lldb_private::FileSpec& fspec);
74
75 void
76 SetFileSpec (const lldb_private::FileSpec& fspec);
77
78 const lldb_private::FileSpec *
79 operator->() const;
80
81 const lldb_private::FileSpec *
82 get() const;
83
84 const lldb_private::FileSpec &
85 operator*() const;
86
87 const lldb_private::FileSpec &
88 ref() const;
89
90 std::unique_ptr<lldb_private::FileSpec> m_opaque_ap;
91 };
92
93
94 } // namespace lldb
95
96 #endif // LLDB_SBFileSpec_h_