12cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk/* 22cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * Copyright (C) 2014 The Android Open Source Project 32cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * 42cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * Licensed under the Apache License, Version 2.0 (the "License"); 52cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * you may not use this file except in compliance with the License. 62cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * You may obtain a copy of the License at 72cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * 82cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * http://www.apache.org/licenses/LICENSE-2.0 92cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * 102cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * Unless required by applicable law or agreed to in writing, software 112cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * distributed under the License is distributed on an "AS IS" BASIS, 122cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * See the License for the specific language governing permissions and 142cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * limitations under the License. 152cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk */ 162cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk 172cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunkpackage android.hardware.camera2.impl; 182cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk 192cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk/** 202cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * Getter interface for use with Command pattern metadata value getters. 212cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk */ 222cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunkpublic interface GetCommand { 232cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk 242cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk /** 252cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * Get the value from the given {@link CameraMetadataNative} object. 262cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * 272cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * @param metadata the {@link CameraMetadataNative} object to get the value from. 282cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * @param key the {@link CameraMetadataNative.Key} to look up. 292cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * @param <T> the type of the value. 302cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk * @return the value for a given {@link CameraMetadataNative.Key}. 312cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk */ 322cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk public <T> T getValue(CameraMetadataNative metadata, CameraMetadataNative.Key<T> key); 332cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk} 34