From fc0541328190d60b3cf6beb72b630e115dc7a2be Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Tue, 18 Aug 2009 17:35:44 -0700 Subject: split gralloc_priv.h and make sure it is C friendly --- modules/gralloc/allocator.h | 2 +- modules/gralloc/framebuffer.cpp | 1 + modules/gralloc/gr.h | 63 +++++++++++++++++++++++++++++++++++++++++ modules/gralloc/gralloc_priv.h | 44 ++++++---------------------- 4 files changed, 74 insertions(+), 36 deletions(-) create mode 100644 modules/gralloc/gr.h (limited to 'modules/gralloc') diff --git a/modules/gralloc/allocator.h b/modules/gralloc/allocator.h index 6823982..b0d89e9 100644 --- a/modules/gralloc/allocator.h +++ b/modules/gralloc/allocator.h @@ -21,7 +21,7 @@ #include #include -#include "gralloc_priv.h" +#include "gr.h" // ---------------------------------------------------------------------------- diff --git a/modules/gralloc/framebuffer.cpp b/modules/gralloc/framebuffer.cpp index 5f97032..7d2b582 100644 --- a/modules/gralloc/framebuffer.cpp +++ b/modules/gralloc/framebuffer.cpp @@ -38,6 +38,7 @@ #endif #include "gralloc_priv.h" +#include "gr.h" /*****************************************************************************/ diff --git a/modules/gralloc/gr.h b/modules/gralloc/gr.h new file mode 100644 index 0000000..1775bfa --- /dev/null +++ b/modules/gralloc/gr.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2008 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 GR_H_ +#define GR_H_ + +#include +#ifdef HAVE_ANDROID_OS // just want PAGE_SIZE define +# include +#else +# include +#endif +#include +#include +#include +#include +#include + +#include + +/*****************************************************************************/ + +struct private_module_t; +struct private_handle_t; + +inline size_t roundUpToPageSize(size_t x) { + return (x + (PAGE_SIZE-1)) & ~(PAGE_SIZE-1); +} + +int mapFrameBufferLocked(struct private_module_t* module); +int terminateBuffer(gralloc_module_t const* module, private_handle_t* hnd); + +/*****************************************************************************/ + +class Locker { + pthread_mutex_t mutex; +public: + class Autolock { + Locker& locker; + public: + inline Autolock(Locker& locker) : locker(locker) { locker.lock(); } + inline ~Autolock() { locker.unlock(); } + }; + inline Locker() { pthread_mutex_init(&mutex, 0); } + inline ~Locker() { pthread_mutex_destroy(&mutex); } + inline void lock() { pthread_mutex_lock(&mutex); } + inline void unlock() { pthread_mutex_unlock(&mutex); } +}; + +#endif /* GR_H_ */ diff --git a/modules/gralloc/gralloc_priv.h b/modules/gralloc/gralloc_priv.h index 3ab1f54..c3655a5 100644 --- a/modules/gralloc/gralloc_priv.h +++ b/modules/gralloc/gralloc_priv.h @@ -18,11 +18,6 @@ #define GRALLOC_PRIV_H_ #include -#ifdef HAVE_ANDROID_OS // just want PAGE_SIZE define -# include -#else -# include -#endif #include #include #include @@ -39,34 +34,6 @@ struct private_module_t; struct private_handle_t; -inline size_t roundUpToPageSize(size_t x) { - return (x + (PAGE_SIZE-1)) & ~(PAGE_SIZE-1); -} - -int mapFrameBufferLocked(struct private_module_t* module); -int terminateBuffer(gralloc_module_t const* module, private_handle_t* hnd); - -/*****************************************************************************/ - -class Locker { - pthread_mutex_t mutex; -public: - class Autolock { - Locker& locker; - public: - inline Autolock(Locker& locker) : locker(locker) { locker.lock(); } - inline ~Autolock() { locker.unlock(); } - }; - inline Locker() { pthread_mutex_init(&mutex, 0); } - inline ~Locker() { pthread_mutex_destroy(&mutex); } - inline void lock() { pthread_mutex_lock(&mutex); } - inline void unlock() { pthread_mutex_unlock(&mutex); } -}; - -/*****************************************************************************/ - -struct private_handle_t; - struct private_module_t { gralloc_module_t base; @@ -93,8 +60,13 @@ struct private_module_t { /*****************************************************************************/ -struct private_handle_t : public native_handle -{ +#ifdef __cplusplus +struct private_handle_t : public native_handle { +#else +struct private_handle_t { + struct native_handle nativeHandle; +#endif + enum { PRIV_FLAGS_FRAMEBUFFER = 0x00000001, PRIV_FLAGS_USES_PMEM = 0x00000002, @@ -120,6 +92,7 @@ struct private_handle_t : public native_handle int writeOwner; int pid; +#ifdef __cplusplus static const int sNumInts = 8; static const int sNumFds = 1; static const int sMagic = 0x3141592; @@ -158,6 +131,7 @@ struct private_handle_t : public native_handle } return NULL; } +#endif }; #endif /* GRALLOC_PRIV_H_ */ -- cgit v1.1