16a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu/*
2cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// Copyright (c) 2014 Intel Corporation 
3cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika//
4cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// Licensed under the Apache License, Version 2.0 (the "License");
5cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// you may not use this file except in compliance with the License.
6cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// You may obtain a copy of the License at
7cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika//
8cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika//      http://www.apache.org/licenses/LICENSE-2.0
9cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika//
10cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// Unless required by applicable law or agreed to in writing, software
11cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// distributed under the License is distributed on an "AS IS" BASIS,
12cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// See the License for the specific language governing permissions and
14cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika// limitations under the License.
15cd727f537d5085eec7f1b8f9c1d33922d4de75d4Prodyut Hazarika*/
16e6ecdadd57e79c2218b3e6ae407f12599f33bd22Jackie Li#ifndef IVSYNCCONTROL_H_
17e6ecdadd57e79c2218b3e6ae407f12599f33bd22Jackie Li#define IVSYNCCONTROL_H_
186a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
196a6081a46a83da606cf21548879b37695adc7e1fAndy Qiunamespace android {
206a6081a46a83da606cf21548879b37695adc7e1fAndy Qiunamespace intel {
216a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
22e6ecdadd57e79c2218b3e6ae407f12599f33bd22Jackie Liclass IVsyncControl {
236a6081a46a83da606cf21548879b37695adc7e1fAndy Qiupublic:
24e6ecdadd57e79c2218b3e6ae407f12599f33bd22Jackie Li    IVsyncControl() {};
25e6ecdadd57e79c2218b3e6ae407f12599f33bd22Jackie Li    virtual ~IVsyncControl() {};
266a6081a46a83da606cf21548879b37695adc7e1fAndy Qiupublic:
27eb726af21649d79ed720bdf329e0849270995c45Andy Qiu    virtual bool initialize() = 0;
28eb726af21649d79ed720bdf329e0849270995c45Andy Qiu    virtual void deinitialize() = 0;
29eb726af21649d79ed720bdf329e0849270995c45Andy Qiu    virtual bool control(int disp, bool enabled) = 0;
306a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu    virtual bool wait(int disp, int64_t& timestamp) = 0;
316a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu};
326a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
336a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu} // namespace intel
346a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu} // namespace android
356a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
366a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
37e6ecdadd57e79c2218b3e6ae407f12599f33bd22Jackie Li#endif /* IVSYNCCONTROL_H_ */
38