Home | History | Annotate | Download | only in MacOSX
      1 //===-- PlatformMacOSX.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_PlatformMacOSX_h_
     11 #define liblldb_PlatformMacOSX_h_
     12 
     13 // C Includes
     14 // C++ Includes
     15 // Other libraries and framework includes
     16 // Project includes
     17 #include "PlatformDarwin.h"
     18 
     19 class PlatformMacOSX : 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 (bool is_host);
     37 
     38     static const char *
     39     GetDescriptionStatic(bool is_host);
     40 
     41     //------------------------------------------------------------
     42     // Class Methods
     43     //------------------------------------------------------------
     44     PlatformMacOSX (bool is_host);
     45 
     46     virtual
     47     ~PlatformMacOSX();
     48 
     49     //------------------------------------------------------------
     50     // lldb_private::PluginInterface functions
     51     //------------------------------------------------------------
     52     virtual lldb_private::ConstString
     53     GetPluginName()
     54     {
     55         return GetPluginNameStatic (IsHost());
     56     }
     57 
     58     virtual uint32_t
     59     GetPluginVersion()
     60     {
     61         return 1;
     62     }
     63 
     64     virtual const char *
     65     GetDescription ()
     66     {
     67         return GetDescriptionStatic (IsHost());
     68     }
     69 
     70     virtual lldb_private::Error
     71     GetFile (const lldb_private::FileSpec &platform_file,
     72              const lldb_private::UUID *uuid_ptr,
     73              lldb_private::FileSpec &local_file);
     74 
     75     virtual bool
     76     GetSupportedArchitectureAtIndex (uint32_t idx,
     77                                      lldb_private::ArchSpec &arch);
     78 
     79 private:
     80     DISALLOW_COPY_AND_ASSIGN (PlatformMacOSX);
     81 
     82 };
     83 
     84 #endif  // liblldb_PlatformMacOSX_h_
     85