@lazycatcloud/sdk 0.1.142 → 0.1.144

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/common/box.ts +545 -0
  2. package/common/browseronly.ts +520 -0
  3. package/common/end_device.ts +635 -0
  4. package/common/file_handler.ts +485 -0
  5. package/common/filetrans.ts +1936 -0
  6. package/common/gateway.ts +663 -0
  7. package/common/media_meta.ts +319 -0
  8. package/common/message.ts +242 -0
  9. package/common/peripheral_device.ts +783 -0
  10. package/common/security_context.ts +729 -0
  11. package/common/users.ts +1044 -0
  12. package/dist/common/box.d.ts +1 -1
  13. package/dist/common/box.d.ts.map +1 -1
  14. package/dist/common/box.js +21 -37
  15. package/dist/common/box.js.map +1 -1
  16. package/dist/common/browseronly.d.ts +2 -2
  17. package/dist/common/browseronly.d.ts.map +1 -1
  18. package/dist/common/browseronly.js +12 -23
  19. package/dist/common/browseronly.js.map +1 -1
  20. package/dist/common/end_device.d.ts +2 -2
  21. package/dist/common/end_device.d.ts.map +1 -1
  22. package/dist/common/end_device.js +18 -41
  23. package/dist/common/end_device.js.map +1 -1
  24. package/dist/common/file_handler.d.ts.map +1 -1
  25. package/dist/common/file_handler.js +5 -15
  26. package/dist/common/file_handler.js.map +1 -1
  27. package/dist/common/filetrans.d.ts +2 -2
  28. package/dist/common/filetrans.d.ts.map +1 -1
  29. package/dist/common/filetrans.js +94 -221
  30. package/dist/common/filetrans.js.map +1 -1
  31. package/dist/common/gateway.d.ts +1 -1
  32. package/dist/common/gateway.d.ts.map +1 -1
  33. package/dist/common/gateway.js +14 -33
  34. package/dist/common/gateway.js.map +1 -1
  35. package/dist/common/media_meta.d.ts +85 -0
  36. package/dist/common/media_meta.d.ts.map +1 -0
  37. package/dist/common/media_meta.js +233 -0
  38. package/dist/common/media_meta.js.map +1 -0
  39. package/dist/common/message.d.ts.map +1 -1
  40. package/dist/common/message.js +13 -23
  41. package/dist/common/message.js.map +1 -1
  42. package/dist/common/peripheral_device.d.ts +2 -2
  43. package/dist/common/peripheral_device.d.ts.map +1 -1
  44. package/dist/common/peripheral_device.js +22 -39
  45. package/dist/common/peripheral_device.js.map +1 -1
  46. package/dist/common/security_context.d.ts.map +1 -1
  47. package/dist/common/security_context.js +11 -33
  48. package/dist/common/security_context.js.map +1 -1
  49. package/dist/common/users.d.ts +2 -2
  50. package/dist/common/users.d.ts.map +1 -1
  51. package/dist/common/users.js +10 -24
  52. package/dist/common/users.js.map +1 -1
  53. package/dist/dlna/dlna.d.ts +2 -2
  54. package/dist/dlna/dlna.d.ts.map +1 -1
  55. package/dist/dlna/dlna.js +23 -58
  56. package/dist/dlna/dlna.js.map +1 -1
  57. package/dist/extentions/app_common.d.ts +1 -1
  58. package/dist/extentions/app_common.d.ts.map +1 -1
  59. package/dist/extentions/app_common.js +21 -8
  60. package/dist/extentions/app_common.js.map +1 -1
  61. package/dist/extentions/index.d.ts +1 -1
  62. package/dist/extentions/index.d.ts.map +1 -1
  63. package/dist/extentions/unsafe_app.d.ts +3 -0
  64. package/dist/extentions/unsafe_app.d.ts.map +1 -1
  65. package/dist/extentions/unsafe_app.js +21 -0
  66. package/dist/extentions/unsafe_app.js.map +1 -1
  67. package/dist/google/protobuf/descriptor.d.ts +0 -1
  68. package/dist/google/protobuf/descriptor.d.ts.map +1 -1
  69. package/dist/google/protobuf/descriptor.js +176 -406
  70. package/dist/google/protobuf/descriptor.js.map +1 -1
  71. package/dist/google/protobuf/empty.d.ts.map +1 -1
  72. package/dist/google/protobuf/empty.js.map +1 -1
  73. package/dist/google/protobuf/timestamp.d.ts +0 -2
  74. package/dist/google/protobuf/timestamp.d.ts.map +1 -1
  75. package/dist/google/protobuf/timestamp.js +9 -6
  76. package/dist/google/protobuf/timestamp.js.map +1 -1
  77. package/dist/lanforward/lanforward.d.ts +1 -1
  78. package/dist/lanforward/lanforward.d.ts.map +1 -1
  79. package/dist/lanforward/lanforward.js +7 -12
  80. package/dist/lanforward/lanforward.js.map +1 -1
  81. package/dist/localdevice/clipboard.d.ts +1 -1
  82. package/dist/localdevice/clipboard.d.ts.map +1 -1
  83. package/dist/localdevice/clipboard.js +17 -25
  84. package/dist/localdevice/clipboard.js.map +1 -1
  85. package/dist/localdevice/config.d.ts.map +1 -1
  86. package/dist/localdevice/config.js +3 -8
  87. package/dist/localdevice/config.js.map +1 -1
  88. package/dist/localdevice/device.d.ts +1 -1
  89. package/dist/localdevice/device.d.ts.map +1 -1
  90. package/dist/localdevice/device.js +4 -9
  91. package/dist/localdevice/device.js.map +1 -1
  92. package/dist/localdevice/dialog.d.ts +1 -1
  93. package/dist/localdevice/dialog.d.ts.map +1 -1
  94. package/dist/localdevice/dialog.js +8 -22
  95. package/dist/localdevice/dialog.js.map +1 -1
  96. package/dist/localdevice/local-launch.d.ts.map +1 -1
  97. package/dist/localdevice/local-launch.js +9 -32
  98. package/dist/localdevice/local-launch.js.map +1 -1
  99. package/dist/localdevice/network.d.ts +1 -1
  100. package/dist/localdevice/network.d.ts.map +1 -1
  101. package/dist/localdevice/network.js +3 -6
  102. package/dist/localdevice/network.js.map +1 -1
  103. package/dist/localdevice/permission.d.ts +1 -1
  104. package/dist/localdevice/permission.d.ts.map +1 -1
  105. package/dist/localdevice/permission.js +18 -35
  106. package/dist/localdevice/permission.js.map +1 -1
  107. package/dist/localdevice/photo.d.ts +1 -1
  108. package/dist/localdevice/photo.d.ts.map +1 -1
  109. package/dist/localdevice/photo.js +64 -156
  110. package/dist/localdevice/photo.js.map +1 -1
  111. package/dist/package.json +1 -5
  112. package/dist/ssdp/ssdp.d.ts +1 -1
  113. package/dist/ssdp/ssdp.d.ts.map +1 -1
  114. package/dist/ssdp/ssdp.js +6 -9
  115. package/dist/ssdp/ssdp.js.map +1 -1
  116. package/dist/sys/OS_daemon.d.ts +1 -1
  117. package/dist/sys/OS_daemon.d.ts.map +1 -1
  118. package/dist/sys/OS_daemon.js +5 -14
  119. package/dist/sys/OS_daemon.js.map +1 -1
  120. package/dist/sys/OS_snapshot.d.ts +1 -1
  121. package/dist/sys/OS_snapshot.d.ts.map +1 -1
  122. package/dist/sys/OS_snapshot.js +41 -81
  123. package/dist/sys/OS_snapshot.js.map +1 -1
  124. package/dist/sys/OS_upgrader.d.ts +1 -1
  125. package/dist/sys/OS_upgrader.d.ts.map +1 -1
  126. package/dist/sys/OS_upgrader.js +22 -39
  127. package/dist/sys/OS_upgrader.js.map +1 -1
  128. package/dist/sys/btrfs.d.ts +1 -1
  129. package/dist/sys/btrfs.d.ts.map +1 -1
  130. package/dist/sys/btrfs.js +14 -22
  131. package/dist/sys/btrfs.js.map +1 -1
  132. package/dist/sys/devopt.d.ts +1 -1
  133. package/dist/sys/devopt.d.ts.map +1 -1
  134. package/dist/sys/devopt.js +9 -25
  135. package/dist/sys/devopt.js.map +1 -1
  136. package/dist/sys/event.d.ts +2 -2
  137. package/dist/sys/event.d.ts.map +1 -1
  138. package/dist/sys/event.js +15 -30
  139. package/dist/sys/event.js.map +1 -1
  140. package/dist/sys/hc-core/hc-core.d.ts +2 -2
  141. package/dist/sys/hc-core/hc-core.d.ts.map +1 -1
  142. package/dist/sys/hc-core/hc-core.js +32 -65
  143. package/dist/sys/hc-core/hc-core.js.map +1 -1
  144. package/dist/sys/ingress.d.ts +1 -1
  145. package/dist/sys/ingress.d.ts.map +1 -1
  146. package/dist/sys/ingress.js +19 -36
  147. package/dist/sys/ingress.js.map +1 -1
  148. package/dist/sys/network_manager.d.ts +1 -1
  149. package/dist/sys/network_manager.d.ts.map +1 -1
  150. package/dist/sys/network_manager.js +22 -66
  151. package/dist/sys/network_manager.js.map +1 -1
  152. package/dist/sys/package_manager.d.ts +1 -1
  153. package/dist/sys/package_manager.d.ts.map +1 -1
  154. package/dist/sys/package_manager.js +36 -73
  155. package/dist/sys/package_manager.js.map +1 -1
  156. package/dist/sys/portal-server/portal-server.d.ts +2 -2
  157. package/dist/sys/portal-server/portal-server.d.ts.map +1 -1
  158. package/dist/sys/portal-server/portal-server.js +62 -157
  159. package/dist/sys/portal-server/portal-server.js.map +1 -1
  160. package/dist/sys/snapd.d.ts +1 -1
  161. package/dist/sys/snapd.d.ts.map +1 -1
  162. package/dist/sys/snapd.js +20 -50
  163. package/dist/sys/snapd.js.map +1 -1
  164. package/dlna/dlna.ts +895 -0
  165. package/docs/contribute.md +40 -0
  166. package/docs/extentions/AppCommon.md +30 -0
  167. package/extentions/app_common.ts +63 -0
  168. package/extentions/base.ts +459 -0
  169. package/extentions/index.ts +27 -0
  170. package/extentions/safe_app.ts +60 -0
  171. package/extentions/unsafe_app.ts +107 -0
  172. package/google/protobuf/descriptor.ts +3778 -0
  173. package/google/protobuf/empty.ts +64 -0
  174. package/google/protobuf/timestamp.ts +214 -0
  175. package/grpcweb.ts +106 -0
  176. package/index.ts +204 -0
  177. package/lanforward/lanforward.ts +301 -0
  178. package/localdevice/clipboard.ts +499 -0
  179. package/localdevice/config.ts +268 -0
  180. package/localdevice/device.ts +218 -0
  181. package/localdevice/dialog.ts +707 -0
  182. package/localdevice/local-launch.ts +954 -0
  183. package/localdevice/network.ts +273 -0
  184. package/localdevice/permission.ts +733 -0
  185. package/localdevice/photo.ts +1497 -0
  186. package/package.json +1 -5
  187. package/ssdp/ssdp.ts +332 -0
  188. package/sys/OS_daemon.ts +325 -0
  189. package/sys/OS_snapshot.ts +1714 -0
  190. package/sys/OS_upgrader.ts +782 -0
  191. package/sys/btrfs.ts +530 -0
  192. package/sys/devopt.ts +250 -0
  193. package/sys/event.ts +787 -0
  194. package/sys/hc-core/hc-core.ts +1582 -0
  195. package/sys/ingress.ts +953 -0
  196. package/sys/network_manager.ts +874 -0
  197. package/sys/package_manager.ts +1931 -0
  198. package/sys/portal-server/portal-server.ts +2934 -0
  199. package/sys/snapd.ts +861 -0
  200. package/tsconfig.json +15 -0
  201. package/dist/API.d.ts +0 -24
  202. package/dist/API.d.ts.map +0 -1
  203. package/dist/API.js +0 -117
  204. package/dist/API.js.map +0 -1
  205. package/dist/google/protobuf/wrappers.d.ts +0 -182
  206. package/dist/google/protobuf/wrappers.d.ts.map +0 -1
  207. package/dist/google/protobuf/wrappers.js +0 -458
  208. package/dist/google/protobuf/wrappers.js.map +0 -1
  209. package/dist/sys/message.d.ts +0 -186
  210. package/dist/sys/message.d.ts.map +0 -1
  211. package/dist/sys/message.js +0 -493
  212. package/dist/sys/message.js.map +0 -1
  213. package/dist/sys/settings.d.ts +0 -68
  214. package/dist/sys/settings.d.ts.map +0 -1
  215. package/dist/sys/settings.js +0 -183
  216. package/dist/sys/settings.js.map +0 -1
package/dlna/dlna.ts ADDED
@@ -0,0 +1,895 @@
1
+ /* eslint-disable */
2
+ import { grpc } from "@improbable-eng/grpc-web";
3
+ import { BrowserHeaders } from "browser-headers";
4
+ import _m0 from "protobufjs/minimal";
5
+ import { Observable } from "rxjs";
6
+ import { share } from "rxjs/operators";
7
+ import { Empty } from "../google/protobuf/empty";
8
+
9
+ export interface GetPositionInfoRequest {
10
+ playerUuid: string;
11
+ }
12
+
13
+ export interface GetPositionInfoResponse {
14
+ track: string;
15
+ trackDuration: string;
16
+ trackMetadata: string;
17
+ trackUri: string;
18
+ relTime: string;
19
+ absTime: string;
20
+ relCount: number;
21
+ absCount: number;
22
+ }
23
+
24
+ export interface DoActionRequest {
25
+ playerUuid: string;
26
+ action: DoActionRequest_Action;
27
+ mediaFile?: string | undefined;
28
+ mediaSubtitle?: string | undefined;
29
+ seekTarget?: string | undefined;
30
+ }
31
+
32
+ export enum DoActionRequest_Action {
33
+ Unknown = 0,
34
+ /**
35
+ * Play - 需要在mediaFile中设置对应的媒体路径,
36
+ * 支持http://类型或/开头的本地资源路径(相当于当前用户目录)
37
+ */
38
+ Play = 1,
39
+ Pause = 2,
40
+ /** Continue - 若当前是paused状态,则恢复播放,否则不做任何处理,返回成功。 */
41
+ Continue = 3,
42
+ /** Stop - 停止对此instance上的任何操作,后续操作需要重新调用play开始 */
43
+ Stop = 4,
44
+ Seek = 5,
45
+ UNRECOGNIZED = -1,
46
+ }
47
+
48
+ export function doActionRequest_ActionFromJSON(object: any): DoActionRequest_Action {
49
+ switch (object) {
50
+ case 0:
51
+ case "Unknown":
52
+ return DoActionRequest_Action.Unknown;
53
+ case 1:
54
+ case "Play":
55
+ return DoActionRequest_Action.Play;
56
+ case 2:
57
+ case "Pause":
58
+ return DoActionRequest_Action.Pause;
59
+ case 3:
60
+ case "Continue":
61
+ return DoActionRequest_Action.Continue;
62
+ case 4:
63
+ case "Stop":
64
+ return DoActionRequest_Action.Stop;
65
+ case 5:
66
+ case "Seek":
67
+ return DoActionRequest_Action.Seek;
68
+ case -1:
69
+ case "UNRECOGNIZED":
70
+ default:
71
+ return DoActionRequest_Action.UNRECOGNIZED;
72
+ }
73
+ }
74
+
75
+ export function doActionRequest_ActionToJSON(object: DoActionRequest_Action): string {
76
+ switch (object) {
77
+ case DoActionRequest_Action.Unknown:
78
+ return "Unknown";
79
+ case DoActionRequest_Action.Play:
80
+ return "Play";
81
+ case DoActionRequest_Action.Pause:
82
+ return "Pause";
83
+ case DoActionRequest_Action.Continue:
84
+ return "Continue";
85
+ case DoActionRequest_Action.Stop:
86
+ return "Stop";
87
+ case DoActionRequest_Action.Seek:
88
+ return "Seek";
89
+ case DoActionRequest_Action.UNRECOGNIZED:
90
+ default:
91
+ return "UNRECOGNIZED";
92
+ }
93
+ }
94
+
95
+ export interface RMPStatus {
96
+ status: RMPStatus_Status;
97
+ }
98
+
99
+ export enum RMPStatus_Status {
100
+ Unknown = 0,
101
+ Playing = 1,
102
+ Paused = 2,
103
+ Stopped = 3,
104
+ UNRECOGNIZED = -1,
105
+ }
106
+
107
+ export function rMPStatus_StatusFromJSON(object: any): RMPStatus_Status {
108
+ switch (object) {
109
+ case 0:
110
+ case "Unknown":
111
+ return RMPStatus_Status.Unknown;
112
+ case 1:
113
+ case "Playing":
114
+ return RMPStatus_Status.Playing;
115
+ case 2:
116
+ case "Paused":
117
+ return RMPStatus_Status.Paused;
118
+ case 3:
119
+ case "Stopped":
120
+ return RMPStatus_Status.Stopped;
121
+ case -1:
122
+ case "UNRECOGNIZED":
123
+ default:
124
+ return RMPStatus_Status.UNRECOGNIZED;
125
+ }
126
+ }
127
+
128
+ export function rMPStatus_StatusToJSON(object: RMPStatus_Status): string {
129
+ switch (object) {
130
+ case RMPStatus_Status.Unknown:
131
+ return "Unknown";
132
+ case RMPStatus_Status.Playing:
133
+ return "Playing";
134
+ case RMPStatus_Status.Paused:
135
+ return "Paused";
136
+ case RMPStatus_Status.Stopped:
137
+ return "Stopped";
138
+ case RMPStatus_Status.UNRECOGNIZED:
139
+ default:
140
+ return "UNRECOGNIZED";
141
+ }
142
+ }
143
+
144
+ export interface ScanRMPResponse {
145
+ remoteMediaPlayers: RemoteMediaPlayer[];
146
+ }
147
+
148
+ export interface SubscribeRequest {
149
+ playerUuid: string;
150
+ }
151
+
152
+ export interface RemoteMediaPlayer {
153
+ uuid: string;
154
+ name: string;
155
+ iconData: string;
156
+ }
157
+
158
+ function createBaseGetPositionInfoRequest(): GetPositionInfoRequest {
159
+ return { playerUuid: "" };
160
+ }
161
+
162
+ export const GetPositionInfoRequest = {
163
+ encode(message: GetPositionInfoRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
164
+ if (message.playerUuid !== "") {
165
+ writer.uint32(10).string(message.playerUuid);
166
+ }
167
+ return writer;
168
+ },
169
+
170
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetPositionInfoRequest {
171
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
172
+ let end = length === undefined ? reader.len : reader.pos + length;
173
+ const message = createBaseGetPositionInfoRequest();
174
+ while (reader.pos < end) {
175
+ const tag = reader.uint32();
176
+ switch (tag >>> 3) {
177
+ case 1:
178
+ message.playerUuid = reader.string();
179
+ break;
180
+ default:
181
+ reader.skipType(tag & 7);
182
+ break;
183
+ }
184
+ }
185
+ return message;
186
+ },
187
+
188
+ fromJSON(object: any): GetPositionInfoRequest {
189
+ return { playerUuid: isSet(object.playerUuid) ? String(object.playerUuid) : "" };
190
+ },
191
+
192
+ toJSON(message: GetPositionInfoRequest): unknown {
193
+ const obj: any = {};
194
+ message.playerUuid !== undefined && (obj.playerUuid = message.playerUuid);
195
+ return obj;
196
+ },
197
+
198
+ fromPartial<I extends Exact<DeepPartial<GetPositionInfoRequest>, I>>(object: I): GetPositionInfoRequest {
199
+ const message = createBaseGetPositionInfoRequest();
200
+ message.playerUuid = object.playerUuid ?? "";
201
+ return message;
202
+ },
203
+ };
204
+
205
+ function createBaseGetPositionInfoResponse(): GetPositionInfoResponse {
206
+ return {
207
+ track: "",
208
+ trackDuration: "",
209
+ trackMetadata: "",
210
+ trackUri: "",
211
+ relTime: "",
212
+ absTime: "",
213
+ relCount: 0,
214
+ absCount: 0,
215
+ };
216
+ }
217
+
218
+ export const GetPositionInfoResponse = {
219
+ encode(message: GetPositionInfoResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
220
+ if (message.track !== "") {
221
+ writer.uint32(10).string(message.track);
222
+ }
223
+ if (message.trackDuration !== "") {
224
+ writer.uint32(18).string(message.trackDuration);
225
+ }
226
+ if (message.trackMetadata !== "") {
227
+ writer.uint32(26).string(message.trackMetadata);
228
+ }
229
+ if (message.trackUri !== "") {
230
+ writer.uint32(34).string(message.trackUri);
231
+ }
232
+ if (message.relTime !== "") {
233
+ writer.uint32(42).string(message.relTime);
234
+ }
235
+ if (message.absTime !== "") {
236
+ writer.uint32(50).string(message.absTime);
237
+ }
238
+ if (message.relCount !== 0) {
239
+ writer.uint32(56).int32(message.relCount);
240
+ }
241
+ if (message.absCount !== 0) {
242
+ writer.uint32(64).int32(message.absCount);
243
+ }
244
+ return writer;
245
+ },
246
+
247
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetPositionInfoResponse {
248
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
249
+ let end = length === undefined ? reader.len : reader.pos + length;
250
+ const message = createBaseGetPositionInfoResponse();
251
+ while (reader.pos < end) {
252
+ const tag = reader.uint32();
253
+ switch (tag >>> 3) {
254
+ case 1:
255
+ message.track = reader.string();
256
+ break;
257
+ case 2:
258
+ message.trackDuration = reader.string();
259
+ break;
260
+ case 3:
261
+ message.trackMetadata = reader.string();
262
+ break;
263
+ case 4:
264
+ message.trackUri = reader.string();
265
+ break;
266
+ case 5:
267
+ message.relTime = reader.string();
268
+ break;
269
+ case 6:
270
+ message.absTime = reader.string();
271
+ break;
272
+ case 7:
273
+ message.relCount = reader.int32();
274
+ break;
275
+ case 8:
276
+ message.absCount = reader.int32();
277
+ break;
278
+ default:
279
+ reader.skipType(tag & 7);
280
+ break;
281
+ }
282
+ }
283
+ return message;
284
+ },
285
+
286
+ fromJSON(object: any): GetPositionInfoResponse {
287
+ return {
288
+ track: isSet(object.track) ? String(object.track) : "",
289
+ trackDuration: isSet(object.trackDuration) ? String(object.trackDuration) : "",
290
+ trackMetadata: isSet(object.trackMetadata) ? String(object.trackMetadata) : "",
291
+ trackUri: isSet(object.trackUri) ? String(object.trackUri) : "",
292
+ relTime: isSet(object.relTime) ? String(object.relTime) : "",
293
+ absTime: isSet(object.absTime) ? String(object.absTime) : "",
294
+ relCount: isSet(object.relCount) ? Number(object.relCount) : 0,
295
+ absCount: isSet(object.absCount) ? Number(object.absCount) : 0,
296
+ };
297
+ },
298
+
299
+ toJSON(message: GetPositionInfoResponse): unknown {
300
+ const obj: any = {};
301
+ message.track !== undefined && (obj.track = message.track);
302
+ message.trackDuration !== undefined && (obj.trackDuration = message.trackDuration);
303
+ message.trackMetadata !== undefined && (obj.trackMetadata = message.trackMetadata);
304
+ message.trackUri !== undefined && (obj.trackUri = message.trackUri);
305
+ message.relTime !== undefined && (obj.relTime = message.relTime);
306
+ message.absTime !== undefined && (obj.absTime = message.absTime);
307
+ message.relCount !== undefined && (obj.relCount = Math.round(message.relCount));
308
+ message.absCount !== undefined && (obj.absCount = Math.round(message.absCount));
309
+ return obj;
310
+ },
311
+
312
+ fromPartial<I extends Exact<DeepPartial<GetPositionInfoResponse>, I>>(object: I): GetPositionInfoResponse {
313
+ const message = createBaseGetPositionInfoResponse();
314
+ message.track = object.track ?? "";
315
+ message.trackDuration = object.trackDuration ?? "";
316
+ message.trackMetadata = object.trackMetadata ?? "";
317
+ message.trackUri = object.trackUri ?? "";
318
+ message.relTime = object.relTime ?? "";
319
+ message.absTime = object.absTime ?? "";
320
+ message.relCount = object.relCount ?? 0;
321
+ message.absCount = object.absCount ?? 0;
322
+ return message;
323
+ },
324
+ };
325
+
326
+ function createBaseDoActionRequest(): DoActionRequest {
327
+ return { playerUuid: "", action: 0, mediaFile: undefined, mediaSubtitle: undefined, seekTarget: undefined };
328
+ }
329
+
330
+ export const DoActionRequest = {
331
+ encode(message: DoActionRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
332
+ if (message.playerUuid !== "") {
333
+ writer.uint32(10).string(message.playerUuid);
334
+ }
335
+ if (message.action !== 0) {
336
+ writer.uint32(16).int32(message.action);
337
+ }
338
+ if (message.mediaFile !== undefined) {
339
+ writer.uint32(26).string(message.mediaFile);
340
+ }
341
+ if (message.mediaSubtitle !== undefined) {
342
+ writer.uint32(34).string(message.mediaSubtitle);
343
+ }
344
+ if (message.seekTarget !== undefined) {
345
+ writer.uint32(42).string(message.seekTarget);
346
+ }
347
+ return writer;
348
+ },
349
+
350
+ decode(input: _m0.Reader | Uint8Array, length?: number): DoActionRequest {
351
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
352
+ let end = length === undefined ? reader.len : reader.pos + length;
353
+ const message = createBaseDoActionRequest();
354
+ while (reader.pos < end) {
355
+ const tag = reader.uint32();
356
+ switch (tag >>> 3) {
357
+ case 1:
358
+ message.playerUuid = reader.string();
359
+ break;
360
+ case 2:
361
+ message.action = reader.int32() as any;
362
+ break;
363
+ case 3:
364
+ message.mediaFile = reader.string();
365
+ break;
366
+ case 4:
367
+ message.mediaSubtitle = reader.string();
368
+ break;
369
+ case 5:
370
+ message.seekTarget = reader.string();
371
+ break;
372
+ default:
373
+ reader.skipType(tag & 7);
374
+ break;
375
+ }
376
+ }
377
+ return message;
378
+ },
379
+
380
+ fromJSON(object: any): DoActionRequest {
381
+ return {
382
+ playerUuid: isSet(object.playerUuid) ? String(object.playerUuid) : "",
383
+ action: isSet(object.action) ? doActionRequest_ActionFromJSON(object.action) : 0,
384
+ mediaFile: isSet(object.mediaFile) ? String(object.mediaFile) : undefined,
385
+ mediaSubtitle: isSet(object.mediaSubtitle) ? String(object.mediaSubtitle) : undefined,
386
+ seekTarget: isSet(object.seekTarget) ? String(object.seekTarget) : undefined,
387
+ };
388
+ },
389
+
390
+ toJSON(message: DoActionRequest): unknown {
391
+ const obj: any = {};
392
+ message.playerUuid !== undefined && (obj.playerUuid = message.playerUuid);
393
+ message.action !== undefined && (obj.action = doActionRequest_ActionToJSON(message.action));
394
+ message.mediaFile !== undefined && (obj.mediaFile = message.mediaFile);
395
+ message.mediaSubtitle !== undefined && (obj.mediaSubtitle = message.mediaSubtitle);
396
+ message.seekTarget !== undefined && (obj.seekTarget = message.seekTarget);
397
+ return obj;
398
+ },
399
+
400
+ fromPartial<I extends Exact<DeepPartial<DoActionRequest>, I>>(object: I): DoActionRequest {
401
+ const message = createBaseDoActionRequest();
402
+ message.playerUuid = object.playerUuid ?? "";
403
+ message.action = object.action ?? 0;
404
+ message.mediaFile = object.mediaFile ?? undefined;
405
+ message.mediaSubtitle = object.mediaSubtitle ?? undefined;
406
+ message.seekTarget = object.seekTarget ?? undefined;
407
+ return message;
408
+ },
409
+ };
410
+
411
+ function createBaseRMPStatus(): RMPStatus {
412
+ return { status: 0 };
413
+ }
414
+
415
+ export const RMPStatus = {
416
+ encode(message: RMPStatus, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
417
+ if (message.status !== 0) {
418
+ writer.uint32(8).int32(message.status);
419
+ }
420
+ return writer;
421
+ },
422
+
423
+ decode(input: _m0.Reader | Uint8Array, length?: number): RMPStatus {
424
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
425
+ let end = length === undefined ? reader.len : reader.pos + length;
426
+ const message = createBaseRMPStatus();
427
+ while (reader.pos < end) {
428
+ const tag = reader.uint32();
429
+ switch (tag >>> 3) {
430
+ case 1:
431
+ message.status = reader.int32() as any;
432
+ break;
433
+ default:
434
+ reader.skipType(tag & 7);
435
+ break;
436
+ }
437
+ }
438
+ return message;
439
+ },
440
+
441
+ fromJSON(object: any): RMPStatus {
442
+ return { status: isSet(object.status) ? rMPStatus_StatusFromJSON(object.status) : 0 };
443
+ },
444
+
445
+ toJSON(message: RMPStatus): unknown {
446
+ const obj: any = {};
447
+ message.status !== undefined && (obj.status = rMPStatus_StatusToJSON(message.status));
448
+ return obj;
449
+ },
450
+
451
+ fromPartial<I extends Exact<DeepPartial<RMPStatus>, I>>(object: I): RMPStatus {
452
+ const message = createBaseRMPStatus();
453
+ message.status = object.status ?? 0;
454
+ return message;
455
+ },
456
+ };
457
+
458
+ function createBaseScanRMPResponse(): ScanRMPResponse {
459
+ return { remoteMediaPlayers: [] };
460
+ }
461
+
462
+ export const ScanRMPResponse = {
463
+ encode(message: ScanRMPResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
464
+ for (const v of message.remoteMediaPlayers) {
465
+ RemoteMediaPlayer.encode(v!, writer.uint32(10).fork()).ldelim();
466
+ }
467
+ return writer;
468
+ },
469
+
470
+ decode(input: _m0.Reader | Uint8Array, length?: number): ScanRMPResponse {
471
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
472
+ let end = length === undefined ? reader.len : reader.pos + length;
473
+ const message = createBaseScanRMPResponse();
474
+ while (reader.pos < end) {
475
+ const tag = reader.uint32();
476
+ switch (tag >>> 3) {
477
+ case 1:
478
+ message.remoteMediaPlayers.push(RemoteMediaPlayer.decode(reader, reader.uint32()));
479
+ break;
480
+ default:
481
+ reader.skipType(tag & 7);
482
+ break;
483
+ }
484
+ }
485
+ return message;
486
+ },
487
+
488
+ fromJSON(object: any): ScanRMPResponse {
489
+ return {
490
+ remoteMediaPlayers: Array.isArray(object?.remoteMediaPlayers)
491
+ ? object.remoteMediaPlayers.map((e: any) => RemoteMediaPlayer.fromJSON(e))
492
+ : [],
493
+ };
494
+ },
495
+
496
+ toJSON(message: ScanRMPResponse): unknown {
497
+ const obj: any = {};
498
+ if (message.remoteMediaPlayers) {
499
+ obj.remoteMediaPlayers = message.remoteMediaPlayers.map((e) => e ? RemoteMediaPlayer.toJSON(e) : undefined);
500
+ } else {
501
+ obj.remoteMediaPlayers = [];
502
+ }
503
+ return obj;
504
+ },
505
+
506
+ fromPartial<I extends Exact<DeepPartial<ScanRMPResponse>, I>>(object: I): ScanRMPResponse {
507
+ const message = createBaseScanRMPResponse();
508
+ message.remoteMediaPlayers = object.remoteMediaPlayers?.map((e) => RemoteMediaPlayer.fromPartial(e)) || [];
509
+ return message;
510
+ },
511
+ };
512
+
513
+ function createBaseSubscribeRequest(): SubscribeRequest {
514
+ return { playerUuid: "" };
515
+ }
516
+
517
+ export const SubscribeRequest = {
518
+ encode(message: SubscribeRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
519
+ if (message.playerUuid !== "") {
520
+ writer.uint32(10).string(message.playerUuid);
521
+ }
522
+ return writer;
523
+ },
524
+
525
+ decode(input: _m0.Reader | Uint8Array, length?: number): SubscribeRequest {
526
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
527
+ let end = length === undefined ? reader.len : reader.pos + length;
528
+ const message = createBaseSubscribeRequest();
529
+ while (reader.pos < end) {
530
+ const tag = reader.uint32();
531
+ switch (tag >>> 3) {
532
+ case 1:
533
+ message.playerUuid = reader.string();
534
+ break;
535
+ default:
536
+ reader.skipType(tag & 7);
537
+ break;
538
+ }
539
+ }
540
+ return message;
541
+ },
542
+
543
+ fromJSON(object: any): SubscribeRequest {
544
+ return { playerUuid: isSet(object.playerUuid) ? String(object.playerUuid) : "" };
545
+ },
546
+
547
+ toJSON(message: SubscribeRequest): unknown {
548
+ const obj: any = {};
549
+ message.playerUuid !== undefined && (obj.playerUuid = message.playerUuid);
550
+ return obj;
551
+ },
552
+
553
+ fromPartial<I extends Exact<DeepPartial<SubscribeRequest>, I>>(object: I): SubscribeRequest {
554
+ const message = createBaseSubscribeRequest();
555
+ message.playerUuid = object.playerUuid ?? "";
556
+ return message;
557
+ },
558
+ };
559
+
560
+ function createBaseRemoteMediaPlayer(): RemoteMediaPlayer {
561
+ return { uuid: "", name: "", iconData: "" };
562
+ }
563
+
564
+ export const RemoteMediaPlayer = {
565
+ encode(message: RemoteMediaPlayer, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
566
+ if (message.uuid !== "") {
567
+ writer.uint32(10).string(message.uuid);
568
+ }
569
+ if (message.name !== "") {
570
+ writer.uint32(18).string(message.name);
571
+ }
572
+ if (message.iconData !== "") {
573
+ writer.uint32(26).string(message.iconData);
574
+ }
575
+ return writer;
576
+ },
577
+
578
+ decode(input: _m0.Reader | Uint8Array, length?: number): RemoteMediaPlayer {
579
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
580
+ let end = length === undefined ? reader.len : reader.pos + length;
581
+ const message = createBaseRemoteMediaPlayer();
582
+ while (reader.pos < end) {
583
+ const tag = reader.uint32();
584
+ switch (tag >>> 3) {
585
+ case 1:
586
+ message.uuid = reader.string();
587
+ break;
588
+ case 2:
589
+ message.name = reader.string();
590
+ break;
591
+ case 3:
592
+ message.iconData = reader.string();
593
+ break;
594
+ default:
595
+ reader.skipType(tag & 7);
596
+ break;
597
+ }
598
+ }
599
+ return message;
600
+ },
601
+
602
+ fromJSON(object: any): RemoteMediaPlayer {
603
+ return {
604
+ uuid: isSet(object.uuid) ? String(object.uuid) : "",
605
+ name: isSet(object.name) ? String(object.name) : "",
606
+ iconData: isSet(object.iconData) ? String(object.iconData) : "",
607
+ };
608
+ },
609
+
610
+ toJSON(message: RemoteMediaPlayer): unknown {
611
+ const obj: any = {};
612
+ message.uuid !== undefined && (obj.uuid = message.uuid);
613
+ message.name !== undefined && (obj.name = message.name);
614
+ message.iconData !== undefined && (obj.iconData = message.iconData);
615
+ return obj;
616
+ },
617
+
618
+ fromPartial<I extends Exact<DeepPartial<RemoteMediaPlayer>, I>>(object: I): RemoteMediaPlayer {
619
+ const message = createBaseRemoteMediaPlayer();
620
+ message.uuid = object.uuid ?? "";
621
+ message.name = object.name ?? "";
622
+ message.iconData = object.iconData ?? "";
623
+ return message;
624
+ },
625
+ };
626
+
627
+ /** 目前支持搜索DLNA的Render设备,并投送媒体文件 */
628
+ export interface RemoteMediaPlayerService {
629
+ ScanRMP(request: DeepPartial<Empty>, metadata?: grpc.Metadata): Promise<ScanRMPResponse>;
630
+ /** 立刻返回选择的当前RMP状态,并在状态变动时重新发送 */
631
+ Subscribe(request: DeepPartial<SubscribeRequest>, metadata?: grpc.Metadata): Observable<RMPStatus>;
632
+ DoAction(request: DeepPartial<DoActionRequest>, metadata?: grpc.Metadata): Promise<Empty>;
633
+ GetPositionInfo(
634
+ request: DeepPartial<GetPositionInfoRequest>,
635
+ metadata?: grpc.Metadata,
636
+ ): Promise<GetPositionInfoResponse>;
637
+ }
638
+
639
+ export class RemoteMediaPlayerServiceClientImpl implements RemoteMediaPlayerService {
640
+ private readonly rpc: Rpc;
641
+
642
+ constructor(rpc: Rpc) {
643
+ this.rpc = rpc;
644
+ this.ScanRMP = this.ScanRMP.bind(this);
645
+ this.Subscribe = this.Subscribe.bind(this);
646
+ this.DoAction = this.DoAction.bind(this);
647
+ this.GetPositionInfo = this.GetPositionInfo.bind(this);
648
+ }
649
+
650
+ ScanRMP(request: DeepPartial<Empty>, metadata?: grpc.Metadata): Promise<ScanRMPResponse> {
651
+ return this.rpc.unary(RemoteMediaPlayerServiceScanRMPDesc, Empty.fromPartial(request), metadata);
652
+ }
653
+
654
+ Subscribe(request: DeepPartial<SubscribeRequest>, metadata?: grpc.Metadata): Observable<RMPStatus> {
655
+ return this.rpc.invoke(RemoteMediaPlayerServiceSubscribeDesc, SubscribeRequest.fromPartial(request), metadata);
656
+ }
657
+
658
+ DoAction(request: DeepPartial<DoActionRequest>, metadata?: grpc.Metadata): Promise<Empty> {
659
+ return this.rpc.unary(RemoteMediaPlayerServiceDoActionDesc, DoActionRequest.fromPartial(request), metadata);
660
+ }
661
+
662
+ GetPositionInfo(
663
+ request: DeepPartial<GetPositionInfoRequest>,
664
+ metadata?: grpc.Metadata,
665
+ ): Promise<GetPositionInfoResponse> {
666
+ return this.rpc.unary(
667
+ RemoteMediaPlayerServiceGetPositionInfoDesc,
668
+ GetPositionInfoRequest.fromPartial(request),
669
+ metadata,
670
+ );
671
+ }
672
+ }
673
+
674
+ export const RemoteMediaPlayerServiceDesc = { serviceName: "lzc.dlna.RemoteMediaPlayerService" };
675
+
676
+ export const RemoteMediaPlayerServiceScanRMPDesc: UnaryMethodDefinitionish = {
677
+ methodName: "ScanRMP",
678
+ service: RemoteMediaPlayerServiceDesc,
679
+ requestStream: false,
680
+ responseStream: false,
681
+ requestType: {
682
+ serializeBinary() {
683
+ return Empty.encode(this).finish();
684
+ },
685
+ } as any,
686
+ responseType: {
687
+ deserializeBinary(data: Uint8Array) {
688
+ return {
689
+ ...ScanRMPResponse.decode(data),
690
+ toObject() {
691
+ return this;
692
+ },
693
+ };
694
+ },
695
+ } as any,
696
+ };
697
+
698
+ export const RemoteMediaPlayerServiceSubscribeDesc: UnaryMethodDefinitionish = {
699
+ methodName: "Subscribe",
700
+ service: RemoteMediaPlayerServiceDesc,
701
+ requestStream: false,
702
+ responseStream: true,
703
+ requestType: {
704
+ serializeBinary() {
705
+ return SubscribeRequest.encode(this).finish();
706
+ },
707
+ } as any,
708
+ responseType: {
709
+ deserializeBinary(data: Uint8Array) {
710
+ return {
711
+ ...RMPStatus.decode(data),
712
+ toObject() {
713
+ return this;
714
+ },
715
+ };
716
+ },
717
+ } as any,
718
+ };
719
+
720
+ export const RemoteMediaPlayerServiceDoActionDesc: UnaryMethodDefinitionish = {
721
+ methodName: "DoAction",
722
+ service: RemoteMediaPlayerServiceDesc,
723
+ requestStream: false,
724
+ responseStream: false,
725
+ requestType: {
726
+ serializeBinary() {
727
+ return DoActionRequest.encode(this).finish();
728
+ },
729
+ } as any,
730
+ responseType: {
731
+ deserializeBinary(data: Uint8Array) {
732
+ return {
733
+ ...Empty.decode(data),
734
+ toObject() {
735
+ return this;
736
+ },
737
+ };
738
+ },
739
+ } as any,
740
+ };
741
+
742
+ export const RemoteMediaPlayerServiceGetPositionInfoDesc: UnaryMethodDefinitionish = {
743
+ methodName: "GetPositionInfo",
744
+ service: RemoteMediaPlayerServiceDesc,
745
+ requestStream: false,
746
+ responseStream: false,
747
+ requestType: {
748
+ serializeBinary() {
749
+ return GetPositionInfoRequest.encode(this).finish();
750
+ },
751
+ } as any,
752
+ responseType: {
753
+ deserializeBinary(data: Uint8Array) {
754
+ return {
755
+ ...GetPositionInfoResponse.decode(data),
756
+ toObject() {
757
+ return this;
758
+ },
759
+ };
760
+ },
761
+ } as any,
762
+ };
763
+
764
+ interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition<any, any> {
765
+ requestStream: any;
766
+ responseStream: any;
767
+ }
768
+
769
+ type UnaryMethodDefinitionish = UnaryMethodDefinitionishR;
770
+
771
+ interface Rpc {
772
+ unary<T extends UnaryMethodDefinitionish>(
773
+ methodDesc: T,
774
+ request: any,
775
+ metadata: grpc.Metadata | undefined,
776
+ ): Promise<any>;
777
+ invoke<T extends UnaryMethodDefinitionish>(
778
+ methodDesc: T,
779
+ request: any,
780
+ metadata: grpc.Metadata | undefined,
781
+ ): Observable<any>;
782
+ }
783
+
784
+ export class GrpcWebImpl {
785
+ private host: string;
786
+ private options: {
787
+ transport?: grpc.TransportFactory;
788
+ streamingTransport?: grpc.TransportFactory;
789
+ debug?: boolean;
790
+ metadata?: grpc.Metadata;
791
+ upStreamRetryCodes?: number[];
792
+ };
793
+
794
+ constructor(
795
+ host: string,
796
+ options: {
797
+ transport?: grpc.TransportFactory;
798
+ streamingTransport?: grpc.TransportFactory;
799
+ debug?: boolean;
800
+ metadata?: grpc.Metadata;
801
+ upStreamRetryCodes?: number[];
802
+ },
803
+ ) {
804
+ this.host = host;
805
+ this.options = options;
806
+ }
807
+
808
+ unary<T extends UnaryMethodDefinitionish>(
809
+ methodDesc: T,
810
+ _request: any,
811
+ metadata: grpc.Metadata | undefined,
812
+ ): Promise<any> {
813
+ const request = { ..._request, ...methodDesc.requestType };
814
+ const maybeCombinedMetadata = metadata && this.options.metadata
815
+ ? new BrowserHeaders({ ...this.options?.metadata.headersMap, ...metadata?.headersMap })
816
+ : metadata || this.options.metadata;
817
+ return new Promise((resolve, reject) => {
818
+ grpc.unary(methodDesc, {
819
+ request,
820
+ host: this.host,
821
+ metadata: maybeCombinedMetadata,
822
+ transport: this.options.transport,
823
+ debug: this.options.debug,
824
+ onEnd: function (response) {
825
+ if (response.status === grpc.Code.OK) {
826
+ resolve(response.message);
827
+ } else {
828
+ const err = new GrpcWebError(response.statusMessage, response.status, response.trailers);
829
+ reject(err);
830
+ }
831
+ },
832
+ });
833
+ });
834
+ }
835
+
836
+ invoke<T extends UnaryMethodDefinitionish>(
837
+ methodDesc: T,
838
+ _request: any,
839
+ metadata: grpc.Metadata | undefined,
840
+ ): Observable<any> {
841
+ const upStreamCodes = this.options.upStreamRetryCodes || [];
842
+ const DEFAULT_TIMEOUT_TIME: number = 3_000;
843
+ const request = { ..._request, ...methodDesc.requestType };
844
+ const maybeCombinedMetadata = metadata && this.options.metadata
845
+ ? new BrowserHeaders({ ...this.options?.metadata.headersMap, ...metadata?.headersMap })
846
+ : metadata || this.options.metadata;
847
+ return new Observable((observer) => {
848
+ const upStream = (() => {
849
+ const client = grpc.invoke(methodDesc, {
850
+ host: this.host,
851
+ request,
852
+ transport: this.options.streamingTransport || this.options.transport,
853
+ metadata: maybeCombinedMetadata,
854
+ debug: this.options.debug,
855
+ onMessage: (next) => observer.next(next),
856
+ onEnd: (code: grpc.Code, message: string, trailers: grpc.Metadata) => {
857
+ if (code === 0) {
858
+ observer.complete();
859
+ } else if (upStreamCodes.includes(code)) {
860
+ setTimeout(upStream, DEFAULT_TIMEOUT_TIME);
861
+ } else {
862
+ const err = new Error(message) as any;
863
+ err.code = code;
864
+ err.metadata = trailers;
865
+ observer.error(err);
866
+ }
867
+ },
868
+ });
869
+ observer.add(() => client.close());
870
+ });
871
+ upStream();
872
+ }).pipe(share());
873
+ }
874
+ }
875
+
876
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
877
+
878
+ type DeepPartial<T> = T extends Builtin ? T
879
+ : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
880
+ : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
881
+ : Partial<T>;
882
+
883
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
884
+ type Exact<P, I extends P> = P extends Builtin ? P
885
+ : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
886
+
887
+ function isSet(value: any): boolean {
888
+ return value !== null && value !== undefined;
889
+ }
890
+
891
+ export class GrpcWebError extends Error {
892
+ constructor(message: string, public code: grpc.Code, public metadata: grpc.Metadata) {
893
+ super(message);
894
+ }
895
+ }