1*ee3b7b62SAndroid Build Coastguard Worker /* 2*ee3b7b62SAndroid Build Coastguard Worker * Copyright (C) 2017 The Android Open Source Project 3*ee3b7b62SAndroid Build Coastguard Worker * 4*ee3b7b62SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*ee3b7b62SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*ee3b7b62SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*ee3b7b62SAndroid Build Coastguard Worker * 8*ee3b7b62SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*ee3b7b62SAndroid Build Coastguard Worker * 10*ee3b7b62SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*ee3b7b62SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*ee3b7b62SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*ee3b7b62SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*ee3b7b62SAndroid Build Coastguard Worker * limitations under the License. 15*ee3b7b62SAndroid Build Coastguard Worker */ 16*ee3b7b62SAndroid Build Coastguard Worker 17*ee3b7b62SAndroid Build Coastguard Worker #pragma once 18*ee3b7b62SAndroid Build Coastguard Worker 19*ee3b7b62SAndroid Build Coastguard Worker #include <vintf/Transport.h> 20*ee3b7b62SAndroid Build Coastguard Worker 21*ee3b7b62SAndroid Build Coastguard Worker #include <set> 22*ee3b7b62SAndroid Build Coastguard Worker #include <string> 23*ee3b7b62SAndroid Build Coastguard Worker 24*ee3b7b62SAndroid Build Coastguard Worker namespace android { 25*ee3b7b62SAndroid Build Coastguard Worker namespace hardware { 26*ee3b7b62SAndroid Build Coastguard Worker 27*ee3b7b62SAndroid Build Coastguard Worker // Get transport method from vendor interface manifest. 28*ee3b7b62SAndroid Build Coastguard Worker // interfaceName has the format "[email protected]::IFoo" 29*ee3b7b62SAndroid Build Coastguard Worker // instanceName is "default", "ashmem", etc. 30*ee3b7b62SAndroid Build Coastguard Worker // If it starts with "android.hidl.", a static map is looked up instead. 31*ee3b7b62SAndroid Build Coastguard Worker vintf::Transport getTransport(const std::string &interfaceName, 32*ee3b7b62SAndroid Build Coastguard Worker const std::string &instanceName); 33*ee3b7b62SAndroid Build Coastguard Worker 34*ee3b7b62SAndroid Build Coastguard Worker // All HALs on the device in manifests. 35*ee3b7b62SAndroid Build Coastguard Worker std::set<std::string> getInstances(const std::string& interfaceName); 36*ee3b7b62SAndroid Build Coastguard Worker 37*ee3b7b62SAndroid Build Coastguard Worker } // hardware 38*ee3b7b62SAndroid Build Coastguard Worker } // android 39