| 12
 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
 
 | //===-- SWIG Interface for SBPlatform ---------------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
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;
    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
 |