]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - source/Plugins/Platform/MacOSX/PlatformAppleWatchSimulator.h
Vendor import of lldb trunk r256945:
[FreeBSD/FreeBSD.git] / source / Plugins / Platform / MacOSX / PlatformAppleWatchSimulator.h
1 //===-- PlatformAppleWatchSimulator.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 liblldb_PlatformAppleWatchSimulator_h_
11 #define liblldb_PlatformAppleWatchSimulator_h_
12
13 // C Includes
14 // C++ Includes
15 // Other libraries and framework includes
16 // Project includes
17 #include "PlatformDarwin.h"
18
19 class PlatformAppleWatchSimulator : public PlatformDarwin
20 {
21 public:
22
23     //------------------------------------------------------------
24     // Class Functions
25     //------------------------------------------------------------
26     static lldb::PlatformSP
27     CreateInstance (bool force, const lldb_private::ArchSpec *arch);
28
29     static void
30     Initialize ();
31
32     static void
33     Terminate ();
34     
35     static lldb_private::ConstString
36     GetPluginNameStatic ();
37
38     static const char *
39     GetDescriptionStatic();
40     
41     //------------------------------------------------------------
42     // Class Methods
43     //------------------------------------------------------------
44     PlatformAppleWatchSimulator ();
45
46     virtual
47     ~PlatformAppleWatchSimulator();
48
49     //------------------------------------------------------------
50     // lldb_private::PluginInterface functions
51     //------------------------------------------------------------
52     lldb_private::ConstString
53     GetPluginName() override
54     {
55         return GetPluginNameStatic();
56     }
57     
58     uint32_t
59     GetPluginVersion() override
60     {
61         return 1;
62     }
63
64     //------------------------------------------------------------
65     // lldb_private::Platform functions
66     //------------------------------------------------------------
67     lldb_private::Error
68     ResolveExecutable (const lldb_private::ModuleSpec &module_spec,
69                        lldb::ModuleSP &module_sp,
70                        const lldb_private::FileSpecList *module_search_paths_ptr) override;
71
72     const char *
73     GetDescription () override
74     {
75         return GetDescriptionStatic();
76     }
77
78     void
79     GetStatus (lldb_private::Stream &strm) override;
80
81     virtual lldb_private::Error
82     GetSymbolFile (const lldb_private::FileSpec &platform_file, 
83                    const lldb_private::UUID *uuid_ptr,
84                    lldb_private::FileSpec &local_file);
85
86     lldb_private::Error
87     GetSharedModule (const lldb_private::ModuleSpec &module_spec,
88                      lldb_private::Process* process,
89                      lldb::ModuleSP &module_sp,
90                      const lldb_private::FileSpecList *module_search_paths_ptr,
91                      lldb::ModuleSP *old_module_sp_ptr,
92                      bool *did_create_ptr) override;
93
94     uint32_t
95     FindProcesses (const lldb_private::ProcessInstanceInfoMatch &match_info,
96                    lldb_private::ProcessInstanceInfoList &process_infos) override;
97
98     bool
99     GetSupportedArchitectureAtIndex (uint32_t idx, 
100                                      lldb_private::ArchSpec &arch) override;
101     
102     void
103     AddClangModuleCompilationOptions (lldb_private::Target *target, std::vector<std::string> &options) override
104     {
105         return PlatformDarwin::AddClangModuleCompilationOptionsForSDKType(target, options, PlatformDarwin::SDKType::iPhoneSimulator);
106     }
107
108 protected:
109     std::string m_sdk_directory;
110     std::string m_build_update;
111     
112     const char *
113     GetSDKDirectoryAsCString();
114
115 private:
116     DISALLOW_COPY_AND_ASSIGN (PlatformAppleWatchSimulator);
117
118 };
119
120 #endif  // liblldb_PlatformAppleWatchSimulator_h_