reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
   72
   73
   74
   75
   76
   77
   78
   79
   80
   81
   82
   83
   84
   85
   86
   87
   88
   89
   90
   91
   92
   93
   94
   95
   96
   97
   98
   99
  100
  101
  102
  103
  104
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124
  125
  126
  127
  128
  129
  130
  131
  132
  133
  134
  135
  136
  137
  138
  139
  140
  141
  142
  143
  144
  145
  146
  147
  148
  149
  150
  151
  152
  153
  154
  155
  156
  157
  158
  159
  160
  161
  162
  163
  164
  165
  166
  167
  168
  169
  170
  171
  172
  173
  174
  175
  176
  177
  178
  179
  180
  181
  182
  183
  184
  185
  186
  187
  188
  189
  190
  191
  192
  193
  194
  195
  196
  197
//===-- SWIG Interface for SBPlatform ---------------------------*- 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
//
//===----------------------------------------------------------------------===//

namespace lldb {


class SBPlatformConnectOptions
{
public:
    SBPlatformConnectOptions (const char *url);

    SBPlatformConnectOptions (const SBPlatformConnectOptions &rhs);

    ~SBPlatformConnectOptions ();

    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);
};

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 ();
};

%feature("docstring",
"A class that represents a platform that can represent the current host or a remote host debug platform.

The SBPlatform class represents the current host, or a remote host.
It can be connected to a remote platform in order to provide ways
to remotely launch and attach to processes, upload/download files,
create directories, run remote shell commands, find locally cached
versions of files from the remote system, and much more.

SBPlatform objects can be created and then used to connect to a remote
platform which allows the SBPlatform to be used to get a list of the
current processes on the remote host, attach to one of those processes,
install programs on the remote system, attach and launch processes,
and much more.

Every SBTarget has a corresponding SBPlatform. The platform can be
specified upon target creation, or the currently selected platform
will attempt to be used when creating the target automatically as long
as the currently selected platform matches the target architecture
and executable type. If the architecture or executable type do not match,
a suitable platform will be found automatically."

) SBPlatform;
class SBPlatform
{
public:

    SBPlatform ();

    SBPlatform (const char *);

    ~SBPlatform();

    bool
    IsValid () const;

    explicit operator bool() const;

    void
    Clear ();

    const char *
    GetWorkingDirectory();

    bool
    SetWorkingDirectory(const char *);

    const char *
    GetName ();

    SBError
    ConnectRemote (lldb::SBPlatformConnectOptions &connect_options);

    void
    DisconnectRemote ();

    bool
    IsConnected();

    const char *
    GetTriple();

    const char *
    GetHostname ();

    const char *
    GetOSBuild ();

    const char *
    GetOSDescription ();

    uint32_t
    GetOSMajorVersion ();

    uint32_t
    GetOSMinorVersion ();

    uint32_t
    GetOSUpdateVersion ();

    lldb::SBError
    Get (lldb::SBFileSpec &src, lldb::SBFileSpec &dst);

    lldb::SBError
    Put (lldb::SBFileSpec &src, lldb::SBFileSpec &dst);

    lldb::SBError
    Install (lldb::SBFileSpec &src, lldb::SBFileSpec &dst);

    lldb::SBError
    Run (lldb::SBPlatformShellCommand &shell_command);

    lldb::SBError
    Launch (lldb::SBLaunchInfo &launch_info);

    lldb::SBError
    Kill (const lldb::pid_t pid);

    lldb::SBError
    MakeDirectory (const char *path, uint32_t file_permissions = lldb::eFilePermissionsDirectoryDefault);

    uint32_t
    GetFilePermissions (const char *path);

    lldb::SBError
    SetFilePermissions (const char *path, uint32_t file_permissions);

    lldb::SBUnixSignals
    GetUnixSignals();

};

} // namespace lldb