Extract remote debugging logic from PlatformMacOSX and move it into PlatformRemoteMacOSX so it can benefit from all the logic necessary for remote debugging. Until now, remote macOS debugging was treated almost identical to local macOS debugging. By moving in into its own class, we can have it inherit from PlatformRemoteDarwinDevice and all the functionality it provides, such as looking at the correct DeviceSupport directory. rdar://68167374 Differential revision: https://reviews.llvm.org/D92452
61 lines
1.8 KiB
C++
61 lines
1.8 KiB
C++
//===-- PlatformRemoteMacOSX.h ---------------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLDB_SOURCE_PLUGINS_PLATFORM_MACOSX_PLATFORMREMOTEMACOSX_H
|
|
#define LLDB_SOURCE_PLUGINS_PLATFORM_MACOSX_PLATFORMREMOTEMACOSX_H
|
|
|
|
#include <string>
|
|
|
|
#include "lldb/Utility/FileSpec.h"
|
|
|
|
#include "llvm/Support/FileSystem.h"
|
|
|
|
#include "PlatformMacOSX.h"
|
|
#include "PlatformRemoteDarwinDevice.h"
|
|
|
|
class PlatformRemoteMacOSX : public virtual PlatformRemoteDarwinDevice {
|
|
public:
|
|
PlatformRemoteMacOSX();
|
|
|
|
static lldb::PlatformSP CreateInstance(bool force,
|
|
const lldb_private::ArchSpec *arch);
|
|
|
|
static void Initialize();
|
|
|
|
static void Terminate();
|
|
|
|
static lldb_private::ConstString GetPluginNameStatic();
|
|
|
|
static const char *GetDescriptionStatic();
|
|
|
|
lldb_private::ConstString GetPluginName() override {
|
|
return GetPluginNameStatic();
|
|
}
|
|
|
|
uint32_t GetPluginVersion() override { return 1; }
|
|
|
|
const char *GetDescription() override { return GetDescriptionStatic(); }
|
|
|
|
lldb_private::Status
|
|
GetFileWithUUID(const lldb_private::FileSpec &platform_file,
|
|
const lldb_private::UUID *uuid_ptr,
|
|
lldb_private::FileSpec &local_file) override;
|
|
|
|
bool GetSupportedArchitectureAtIndex(uint32_t idx,
|
|
lldb_private::ArchSpec &arch) override;
|
|
|
|
protected:
|
|
llvm::StringRef GetDeviceSupportDirectoryName() override;
|
|
llvm::StringRef GetPlatformName() override;
|
|
|
|
private:
|
|
uint32_t m_num_arm_arches = 0;
|
|
};
|
|
|
|
#endif // LLDB_SOURCE_PLUGINS_PLATFORM_MACOSX_PLATFORMREMOTEMACOSX_H
|