Home | History | Annotate | Download | only in MacOSX
      1 //===-- PlatformiOSSimulator.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_PlatformiOSSimulator_h_
     11 #define liblldb_PlatformiOSSimulator_h_
     12 
     13 // C Includes
     14 // C++ Includes
     15 // Other libraries and framework includes
     16 // Project includes
     17 #include "PlatformDarwin.h"
     18 
     19 class PlatformiOSSimulator : public PlatformDarwin
     20 {
     21 public:
     22 
     23     //------------------------------------------------------------
     24     // Class Functions
     25     //------------------------------------------------------------
     26     static lldb_private::Platform*
     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     PlatformiOSSimulator ();
     45 
     46     virtual
     47     ~PlatformiOSSimulator();
     48 
     49     //------------------------------------------------------------
     50     // lldb_private::PluginInterface functions
     51     //------------------------------------------------------------
     52     virtual lldb_private::ConstString
     53     GetPluginName()
     54     {
     55         return GetPluginNameStatic();
     56     }
     57 
     58     virtual uint32_t
     59     GetPluginVersion()
     60     {
     61         return 1;
     62     }
     63 
     64     //------------------------------------------------------------
     65     // lldb_private::Platform functions
     66     //------------------------------------------------------------
     67     virtual lldb_private::Error
     68     ResolveExecutable (const lldb_private::FileSpec &exe_file,
     69                        const lldb_private::ArchSpec &arch,
     70                        lldb::ModuleSP &module_sp,
     71                        const lldb_private::FileSpecList *module_search_paths_ptr);
     72 
     73     virtual const char *
     74     GetDescription ()
     75     {
     76         return GetDescriptionStatic();
     77     }
     78 
     79     virtual void
     80     GetStatus (lldb_private::Stream &strm);
     81 
     82     virtual lldb_private::Error
     83     GetFile (const lldb_private::FileSpec &platform_file,
     84              const lldb_private::UUID *uuid_ptr,
     85              lldb_private::FileSpec &local_file);
     86 
     87     virtual lldb_private::Error
     88     GetSharedModule (const lldb_private::ModuleSpec &module_spec,
     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);
     93 
     94     virtual uint32_t
     95     FindProcesses (const lldb_private::ProcessInstanceInfoMatch &match_info,
     96                    lldb_private::ProcessInstanceInfoList &process_infos);
     97 
     98     virtual bool
     99     GetSupportedArchitectureAtIndex (uint32_t idx,
    100                                      lldb_private::ArchSpec &arch);
    101 
    102 protected:
    103     std::string m_sdk_directory;
    104     std::string m_build_update;
    105     //std::vector<FileSpec> m_device_support_os_dirs;
    106 
    107     const char *
    108     GetSDKDirectory();
    109 
    110 private:
    111     DISALLOW_COPY_AND_ASSIGN (PlatformiOSSimulator);
    112 
    113 };
    114 
    115 #endif  // liblldb_PlatformiOSSimulator_h_
    116