blob: c2f705406b712ab5c110163dd803e7b0994ba4ce [file] [log] [blame]
Brett Chabot9c27c902013-09-27 11:00:56 -07001/*
2 * Copyright (C) 2013 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package com.android.tradefed.command.remote;
17
18import org.json.JSONException;
19import org.json.JSONObject;
20
21/**
22 * A remote operation for freeing a previously remotely allocated device.
23 */
24class FreeDeviceOp extends RemoteOperation {
25
26 private static final String SERIAL = "serial";
27
28 static final String ALL_DEVICES = "*";
29
30 String mDeviceSerial;
31
32 FreeDeviceOp(String serial) {
33 mDeviceSerial = serial;
34 }
35
36 FreeDeviceOp() {
37 this(null);
38 }
39
40 @Override
41 protected void unpackFromJson(JSONObject json) throws RemoteException, JSONException {
42 mDeviceSerial = json.getString(SERIAL);
43 }
44
45 @Override
46 protected OperationType getType() {
47 return OperationType.FREE_DEVICE;
48 }
49
50 @Override
51 protected void packIntoJson(JSONObject j) throws JSONException {
52 j.put(SERIAL, mDeviceSerial);
53 }
54}