split ComposerService out of SurfaceComposerClient.h

Change-Id: I1eb691f7ca263d5895d871ab675bb5826e0323c6
This commit is contained in:
Mathias Agopian 2011-11-17 17:48:35 -08:00
parent f61c57fe2e
commit 41f673c9b3
6 changed files with 61 additions and 21 deletions

View File

@ -0,0 +1,53 @@
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ANDROID_PRIVATE_GUI_COMPOSER_SERVICE_H
#define ANDROID_PRIVATE_GUI_COMPOSER_SERVICE_H
#include <stdint.h>
#include <sys/types.h>
#include <utils/Singleton.h>
#include <utils/StrongPointer.h>
namespace android {
// ---------------------------------------------------------------------------
class IMemoryHeap;
class ISurfaceComposer;
class surface_flinger_cblk_t;
// ---------------------------------------------------------------------------
class ComposerService : public Singleton<ComposerService>
{
// these are constants
sp<ISurfaceComposer> mComposerService;
sp<IMemoryHeap> mServerCblkMemory;
surface_flinger_cblk_t volatile* mServerCblk;
ComposerService();
friend class Singleton<ComposerService>;
public:
static sp<ISurfaceComposer> getComposerService();
static surface_flinger_cblk_t const volatile * getControlBlock();
};
// ---------------------------------------------------------------------------
}; // namespace android
#endif // ANDROID_PRIVATE_GUI_COMPOSER_SERVICE_H

View File

@ -28,7 +28,6 @@
#include <utils/threads.h>
#include <ui/PixelFormat.h>
#include <ui/Region.h>
#include <surfaceflinger/Surface.h>
@ -39,30 +38,11 @@ namespace android {
class DisplayInfo;
class Composer;
class IMemoryHeap;
class ISurfaceComposer;
class ISurfaceComposerClient;
class Region;
class surface_flinger_cblk_t;
struct layer_state_t;
// ---------------------------------------------------------------------------
class ComposerService : public Singleton<ComposerService>
{
// these are constants
sp<ISurfaceComposer> mComposerService;
sp<IMemoryHeap> mServerCblkMemory;
surface_flinger_cblk_t volatile* mServerCblk;
ComposerService();
friend class Singleton<ComposerService>;
public:
static sp<ISurfaceComposer> getComposerService();
static surface_flinger_cblk_t const volatile * getControlBlock();
};
// ---------------------------------------------------------------------------
class Composer;
class SurfaceComposerClient : public RefBase
{
friend class Composer;

View File

@ -39,6 +39,7 @@
#include <private/surfaceflinger/LayerState.h>
#include <private/surfaceflinger/SharedBufferStack.h>
#include <private/gui/ComposerService.h>
namespace android {
// ---------------------------------------------------------------------------

View File

@ -29,6 +29,8 @@
#include <hardware/hardware.h>
#include <private/gui/ComposerService.h>
#include <surfaceflinger/ISurfaceComposer.h>
#include <surfaceflinger/SurfaceComposerClient.h>
#include <surfaceflinger/IGraphicBufferAlloc.h>

View File

@ -23,6 +23,8 @@
#include <utils/Log.h>
#include <private/gui/ComposerService.h>
namespace android {
SurfaceTextureClient::SurfaceTextureClient(

View File

@ -22,6 +22,8 @@
#include <surfaceflinger/SurfaceComposerClient.h>
#include <utils/String8.h>
#include <private/gui/ComposerService.h>
namespace android {
class SurfaceTest : public ::testing::Test {