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 * Setter interface for use with Command pattern metadata value setters.
212cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk */
222cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunkpublic interface SetCommand {
232cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk
242cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk    /**
252cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk     * Set the value in the given metadata.
262cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk     *
272cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk     * @param metadata {@link CameraMetadataNative} to set value in.
282cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk     * @param value value to set.
292cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk     * @param <T> type of the value to set.
302cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk     */
312cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk    public <T> void setValue(/*inout*/CameraMetadataNative metadata,
322cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk                             T value);
332cdfa261f44182292d07b7b3b1e9fce8376e4df5Ruben Brunk}
34