This repository was archived by the owner on Dec 31, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 132
Expand file tree
/
Copy pathDummyAdbClient.cs
More file actions
156 lines (127 loc) · 4.64 KB
/
DummyAdbClient.cs
File metadata and controls
156 lines (127 loc) · 4.64 KB
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
using SharpAdbClient.Logs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
using System.IO;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
using System.Text;
namespace SharpAdbClient.Tests
{
internal class DummyAdbClient : IAdbClient
{
public Dictionary<string, string> Commands
{ get; private set; } = new Dictionary<string, string>();
public Collection<string> ReceivedCommands
{ get; private set; } = new Collection<string>();
public EndPoint EndPoint
{ get; private set; }
public void Connect(DnsEndPoint endpoint)
{
throw new NotImplementedException();
}
public int CreateForward(DeviceData device, ForwardSpec local, ForwardSpec remote, bool allowRebind)
{
throw new NotImplementedException();
}
public int CreateForward(DeviceData device, string local, string remote, bool allowRebind)
{
throw new NotImplementedException();
}
public Task ExecuteRemoteCommandAsync(string command, DeviceData device, IShellOutputReceiver receiver, CancellationToken cancellationToken, int maxTimeToOutputResponse)
{
return this.ExecuteRemoteCommandAsync(command, device, receiver, cancellationToken, maxTimeToOutputResponse, AdbClient.Encoding);
}
public int GetAdbVersion()
{
throw new NotImplementedException();
}
public List<DeviceData> GetDevices()
{
throw new NotImplementedException();
}
public Task<Image> GetFrameBufferAsync(DeviceData device, CancellationToken cancellationToken)
{
throw new NotImplementedException();
}
public Framebuffer CreateRefreshableFramebuffer(DeviceData device)
{
throw new NotImplementedException();
}
public void KillAdb()
{
throw new NotImplementedException();
}
public IEnumerable<ForwardData> ListForward(DeviceData device)
{
throw new NotImplementedException();
}
public void Reboot(string into, DeviceData device)
{
throw new NotImplementedException();
}
public void RemoveAllForwards(DeviceData device)
{
throw new NotImplementedException();
}
public void RemoveForward(DeviceData device, int localPort)
{
throw new NotImplementedException();
}
public Task RunLogServiceAsync(DeviceData device, Action<LogEntry> sink, CancellationToken cancellationToken, params LogId[] logNames)
{
throw new NotImplementedException();
}
public void SetDevice(IAdbSocket socket, DeviceData device)
{
throw new NotImplementedException();
}
public IEnumerable<LogEntry> RunLogService(DeviceData device, CancellationToken cancellationToken, params LogId[] logNames)
{
throw new NotImplementedException();
}
public void Root(DeviceData device)
{
throw new NotImplementedException();
}
public void Unroot(DeviceData device)
{
throw new NotImplementedException();
}
public void Disconnect(DnsEndPoint endpoint)
{
throw new NotImplementedException();
}
public void Install(DeviceData device, Stream apk, params string[] arguments)
{
throw new NotImplementedException();
}
public List<string> GetFeatureSet(DeviceData device)
{
throw new NotImplementedException();
}
public Task ExecuteRemoteCommandAsync(string command, DeviceData device, IShellOutputReceiver receiver, CancellationToken cancellationToken, int maxTimeToOutputResponse, Encoding encoding)
{
this.ReceivedCommands.Add(command);
if (this.Commands.ContainsKey(command))
{
if (receiver != null)
{
StringReader reader = new StringReader(this.Commands[command]);
while (reader.Peek() != -1)
{
receiver.AddOutput(encoding.GetString(encoding.GetBytes(reader.ReadLine())));
}
receiver.Flush();
}
}
else
{
throw new ArgumentOutOfRangeException(nameof(command), $"The command '{command}' was unexpected");
}
return Task.FromResult(true);
}
}
}