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