1d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk/* 2d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * Copyright (C) 2014 The Android Open Source Project 3d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * 4d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * Licensed under the Apache License, Version 2.0 (the "License"); 5d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * you may not use this file except in compliance with the License. 6d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * You may obtain a copy of the License at 7d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * 8d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * http://www.apache.org/licenses/LICENSE-2.0 9d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * 10d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * Unless required by applicable law or agreed to in writing, software 11d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * distributed under the License is distributed on an "AS IS" BASIS, 12d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * See the License for the specific language governing permissions and 14d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * limitations under the License. 15d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk */ 16d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk 17d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunkpackage android.hardware.camera2.impl; 18d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk 19d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk/** 20d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * Setter interface for use with Command pattern metadata value setters. 21d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk */ 22d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunkpublic interface SetCommand { 23d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk 24d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk /** 25d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * Set the value in the given metadata. 26d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * 27d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * @param metadata {@link CameraMetadataNative} to set value in. 28d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * @param value value to set. 29d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk * @param <T> type of the value to set. 30d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk */ 31d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk public <T> void setValue(/*inout*/CameraMetadataNative metadata, 32d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk T value); 33d1f113d0f0ce5099f8efba40a88398f7945bb5e0Ruben Brunk} 34