llvm/lldb/source/Commands/CommandObjectPlatform.cpp

//===-- CommandObjectPlatform.cpp -----------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//

#include "CommandObjectPlatform.h"
#include "CommandOptionsProcessAttach.h"
#include "CommandOptionsProcessLaunch.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Host/OptionParser.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandOptionArgumentTable.h"
#include "lldb/Interpreter/CommandOptionValidators.h"
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Interpreter/OptionGroupFile.h"
#include "lldb/Interpreter/OptionGroupPlatform.h"
#include "lldb/Interpreter/OptionGroupPythonClassWithDict.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/Process.h"
#include "lldb/Utility/Args.h"
#include "lldb/Utility/ScriptedMetadata.h"
#include "lldb/Utility/State.h"

#include "llvm/ADT/SmallString.h"

usingnamespacelldb;
usingnamespacelldb_private;

static mode_t ParsePermissionString(const char *) = delete;

static mode_t ParsePermissionString(llvm::StringRef permissions) {}

#define LLDB_OPTIONS_permissions
#include "CommandOptions.inc"

class OptionPermissions : public OptionGroup {};

// "platform select <platform-name>"
class CommandObjectPlatformSelect : public CommandObjectParsed {};

// "platform list"
class CommandObjectPlatformList : public CommandObjectParsed {};

// "platform status"
class CommandObjectPlatformStatus : public CommandObjectParsed {};

// "platform connect <connect-url>"
class CommandObjectPlatformConnect : public CommandObjectParsed {};

// "platform disconnect"
class CommandObjectPlatformDisconnect : public CommandObjectParsed {};

// "platform settings"
class CommandObjectPlatformSettings : public CommandObjectParsed {};

// "platform mkdir"
class CommandObjectPlatformMkDir : public CommandObjectParsed {};

// "platform fopen"
class CommandObjectPlatformFOpen : public CommandObjectParsed {};

// "platform fclose"
class CommandObjectPlatformFClose : public CommandObjectParsed {};

// "platform fread"

#define LLDB_OPTIONS_platform_fread
#include "CommandOptions.inc"

class CommandObjectPlatformFRead : public CommandObjectParsed {};

// "platform fwrite"

#define LLDB_OPTIONS_platform_fwrite
#include "CommandOptions.inc"

class CommandObjectPlatformFWrite : public CommandObjectParsed {};

class CommandObjectPlatformFile : public CommandObjectMultiword {};

// "platform get-file remote-file-path host-file-path"
class CommandObjectPlatformGetFile : public CommandObjectParsed {};

// "platform get-size remote-file-path"
class CommandObjectPlatformGetSize : public CommandObjectParsed {};

// "platform get-permissions remote-file-path"
class CommandObjectPlatformGetPermissions : public CommandObjectParsed {};

// "platform file-exists remote-file-path"
class CommandObjectPlatformFileExists : public CommandObjectParsed {};

// "platform put-file"
class CommandObjectPlatformPutFile : public CommandObjectParsed {};

// "platform process launch"
class CommandObjectPlatformProcessLaunch : public CommandObjectParsed {};

// "platform process list"

static PosixPlatformCommandOptionValidator posix_validator;
#define LLDB_OPTIONS_platform_process_list
#include "CommandOptions.inc"

class CommandObjectPlatformProcessList : public CommandObjectParsed {};

// "platform process info"
class CommandObjectPlatformProcessInfo : public CommandObjectParsed {};

#define LLDB_OPTIONS_platform_process_attach
#include "CommandOptions.inc"

class CommandObjectPlatformProcessAttach : public CommandObjectParsed {};

class CommandObjectPlatformProcess : public CommandObjectMultiword {};

// "platform shell"
#define LLDB_OPTIONS_platform_shell
#include "CommandOptions.inc"

class CommandObjectPlatformShell : public CommandObjectRaw {};

// "platform install" - install a target to a remote end
class CommandObjectPlatformInstall : public CommandObjectParsed {};

CommandObjectPlatform::CommandObjectPlatform(CommandInterpreter &interpreter)
    :{}

CommandObjectPlatform::~CommandObjectPlatform() = default;