1 /*
2  * Copyright (C) 2012 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * 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, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16 
17 #ifndef CTSAUDIO_ADB_H
18 #define CTSAUDIO_ADB_H
19 
20 #include <utils/String8.h>
21 
22 /** ADB interface to set port forwarding and launch client app */
23 class Adb {
24 public:
25     /// device: device number typically passed in adb's -s argument.
26     /// if device string is empty, adb command will be called without -s option.
27     explicit Adb(const android::String8& device);
28     ~Adb();
29     bool setPortForwarding(int hostPort, int devicePort);
30     /// install given clientBinary to DUT and launch given component.
31     bool launchClient(const android::String8& clientBinary, const android::String8& component);
32 private:
33     int executeCommand(const android::String8& command);
34 
35 private:
36     android::String8 mDevice;
37 };
38 
39 #endif // CTSAUDIO_ADB_H
40 
41 
42 
43 
44