1d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah/* 2d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * Copyright (c) 2013, The Linux Foundation. All rights reserved. 3d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * 4d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * Redistribution and use in source and binary forms, with or without 5d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * modification, are permitted provided that the following conditions are 6d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * met: 7d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * * Redistributions of source code must retain the above copyright 8d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * notice, this list of conditions and the following disclaimer. 9d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * * Redistributions in binary form must reproduce the above 10d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * copyright notice, this list of conditions and the following 11d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * disclaimer in the documentation and/or other materials provided 12d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * with the distribution. 13d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * * Neither the name of The Linux Foundation nor the names of its 14d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * contributors may be used to endorse or promote products derived 15d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * from this software without specific prior written permission. 16d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * 17d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 18d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 19d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 20d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 21d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * SUBSTITUTE GOODS OR CLIENTS; LOSS OF USE, DATA, OR PROFITS; OR 24d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 26d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 27d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah */ 29d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah 30d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#ifndef ANDROID_QCLIENT_H 31d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#define ANDROID_QCLIENT_H 32d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah 33d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <utils/Errors.h> 34d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <sys/types.h> 35d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <cutils/log.h> 36d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <binder/IServiceManager.h> 375a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah#include <media/IMediaDeathNotifier.h> 38d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#include <IQClient.h> 39d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah 40d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahstruct hwc_context_t; 41d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah 42d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahnamespace qClient { 43d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah// ---------------------------------------------------------------------------- 44d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah 45d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahclass QClient : public BnQClient { 46d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahpublic: 47d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah QClient(hwc_context_t *ctx); 48d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah virtual ~QClient(); 49e1f47e78496b6b9382d8c71c959ae6365c7a05d2Jeykumar Sankaran virtual android::status_t notifyCallback(uint32_t msg, uint32_t value); 505a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah 51d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shahprivate: 525a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah //Notifies of Media Player death 535a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah class MPDeathNotifier : public android::IMediaDeathNotifier { 545a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah public: 555a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah MPDeathNotifier(hwc_context_t* ctx) : mHwcContext(ctx){} 565a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah virtual void died(); 575a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah hwc_context_t *mHwcContext; 585a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah }; 595a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah 60d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah void securing(uint32_t startEnd); 61d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah void unsecuring(uint32_t startEnd); 62e1f47e78496b6b9382d8c71c959ae6365c7a05d2Jeykumar Sankaran android::status_t screenRefresh(); 635a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah 64d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah hwc_context_t *mHwcContext; 655a5dcc1df636a8c0d5be68a0b5d7e1108fdf19a8Saurabh Shah const android::sp<android::IMediaDeathNotifier> mMPDeathNotifier; 66d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah}; 67d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah}; // namespace qClient 68d5e3e404e1344eb2148c8df9f3e35d841ddd4285Saurabh Shah#endif // ANDROID_QCLIENT_H 69