mirror of
https://github.com/opnsense/src.git
synced 2026-02-28 12:20:54 -05:00
(A number of files not required for the FreeBSD build have been removed.) Sponsored by: DARPA, AFRL
198 lines
4.2 KiB
C++
198 lines
4.2 KiB
C++
//===-- SBPlatform.h --------------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLDB_SBPlatform_h_
|
|
#define LLDB_SBPlatform_h_
|
|
|
|
#include "lldb/API/SBDefines.h"
|
|
|
|
struct PlatformConnectOptions;
|
|
struct PlatformShellCommand;
|
|
|
|
namespace lldb {
|
|
|
|
class SBPlatformConnectOptions
|
|
{
|
|
public:
|
|
SBPlatformConnectOptions (const char *url);
|
|
|
|
SBPlatformConnectOptions (const SBPlatformConnectOptions &rhs);
|
|
|
|
~SBPlatformConnectOptions ();
|
|
|
|
void
|
|
operator=(const SBPlatformConnectOptions &rhs);
|
|
|
|
const char *
|
|
GetURL();
|
|
|
|
void
|
|
SetURL(const char *url);
|
|
|
|
bool
|
|
GetRsyncEnabled();
|
|
|
|
void
|
|
EnableRsync (const char *options,
|
|
const char *remote_path_prefix,
|
|
bool omit_remote_hostname);
|
|
|
|
void
|
|
DisableRsync ();
|
|
|
|
const char *
|
|
GetLocalCacheDirectory();
|
|
|
|
void
|
|
SetLocalCacheDirectory(const char *path);
|
|
protected:
|
|
PlatformConnectOptions *m_opaque_ptr;
|
|
};
|
|
|
|
class SBPlatformShellCommand
|
|
{
|
|
public:
|
|
SBPlatformShellCommand (const char *shell_command);
|
|
|
|
SBPlatformShellCommand (const SBPlatformShellCommand &rhs);
|
|
|
|
~SBPlatformShellCommand();
|
|
|
|
void
|
|
Clear();
|
|
|
|
const char *
|
|
GetCommand();
|
|
|
|
void
|
|
SetCommand(const char *shell_command);
|
|
|
|
const char *
|
|
GetWorkingDirectory ();
|
|
|
|
void
|
|
SetWorkingDirectory (const char *path);
|
|
|
|
uint32_t
|
|
GetTimeoutSeconds ();
|
|
|
|
void
|
|
SetTimeoutSeconds (uint32_t sec);
|
|
|
|
int
|
|
GetSignal ();
|
|
|
|
int
|
|
GetStatus ();
|
|
|
|
const char *
|
|
GetOutput ();
|
|
|
|
protected:
|
|
friend class SBPlatform;
|
|
|
|
PlatformShellCommand *m_opaque_ptr;
|
|
};
|
|
|
|
class SBPlatform
|
|
{
|
|
public:
|
|
|
|
SBPlatform ();
|
|
|
|
SBPlatform (const char *platform_name);
|
|
|
|
~SBPlatform();
|
|
|
|
bool
|
|
IsValid () const;
|
|
|
|
void
|
|
Clear ();
|
|
|
|
const char *
|
|
GetWorkingDirectory();
|
|
|
|
bool
|
|
SetWorkingDirectory(const char *path);
|
|
|
|
const char *
|
|
GetName ();
|
|
|
|
SBError
|
|
ConnectRemote (SBPlatformConnectOptions &connect_options);
|
|
|
|
void
|
|
DisconnectRemote ();
|
|
|
|
bool
|
|
IsConnected();
|
|
|
|
//----------------------------------------------------------------------
|
|
// The following functions will work if the platform is connected
|
|
//----------------------------------------------------------------------
|
|
const char *
|
|
GetTriple();
|
|
|
|
const char *
|
|
GetHostname ();
|
|
|
|
const char *
|
|
GetOSBuild ();
|
|
|
|
const char *
|
|
GetOSDescription ();
|
|
|
|
uint32_t
|
|
GetOSMajorVersion ();
|
|
|
|
uint32_t
|
|
GetOSMinorVersion ();
|
|
|
|
uint32_t
|
|
GetOSUpdateVersion ();
|
|
|
|
SBError
|
|
Put (SBFileSpec &src, SBFileSpec &dst);
|
|
|
|
SBError
|
|
Get (SBFileSpec &src, SBFileSpec &dst);
|
|
|
|
SBError
|
|
Install (SBFileSpec& src, SBFileSpec& dst);
|
|
|
|
SBError
|
|
Run (SBPlatformShellCommand &shell_command);
|
|
|
|
SBError
|
|
MakeDirectory (const char *path, uint32_t file_permissions = eFilePermissionsDirectoryDefault);
|
|
|
|
uint32_t
|
|
GetFilePermissions (const char *path);
|
|
|
|
SBError
|
|
SetFilePermissions (const char *path, uint32_t file_permissions);
|
|
|
|
protected:
|
|
|
|
friend class SBDebugger;
|
|
friend class SBTarget;
|
|
|
|
lldb::PlatformSP
|
|
GetSP () const;
|
|
|
|
void
|
|
SetSP (const lldb::PlatformSP& platform_sp);
|
|
|
|
lldb::PlatformSP m_opaque_sp;
|
|
};
|
|
|
|
} // namespace lldb
|
|
|
|
#endif // LLDB_SBPlatform_h_
|