diff options
author | Dianne Hackborn <hackbod@google.com> | 2010-07-14 16:51:33 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-07-14 16:51:33 -0700 |
commit | 4b85590f8d021e338248623b641b4867329e2834 (patch) | |
tree | 0a21968d35653731ef82f7d1f327573fa37d5d14 /native/include/android_glue/threaded_app.h | |
parent | 764f436cb9e734afdc55a7b4ac65b27860383a09 (diff) | |
parent | 7417ae9354e10971c0b5d41dc9194fab17b80ea1 (diff) | |
download | frameworks_base-4b85590f8d021e338248623b641b4867329e2834.zip frameworks_base-4b85590f8d021e338248623b641b4867329e2834.tar.gz frameworks_base-4b85590f8d021e338248623b641b4867329e2834.tar.bz2 |
am 7417ae93: am ccc77328: Merge "Remove old glue code." into gingerbread
Merge commit '7417ae9354e10971c0b5d41dc9194fab17b80ea1'
* commit '7417ae9354e10971c0b5d41dc9194fab17b80ea1':
Remove old glue code.
Diffstat (limited to 'native/include/android_glue/threaded_app.h')
-rw-r--r-- | native/include/android_glue/threaded_app.h | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/native/include/android_glue/threaded_app.h b/native/include/android_glue/threaded_app.h deleted file mode 100644 index 2b58e9c..0000000 --- a/native/include/android_glue/threaded_app.h +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright (C) 2010 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. - * - */ - -#include <poll.h> -#include <pthread.h> -#include <sched.h> - -#include <android/native_activity.h> -#include <android/looper.h> - -/** - * This is the interface for the standard glue code of a threaded - * application. In this model, the application's code is running - * in its own thread separate from the main thread of the process. - * It is not required that this thread be associated with the Java - * VM, although it will need to be in order to make JNI calls any - * Java objects. - */ -struct android_app { - // The application can place a pointer to its own state object - // here if it likes. - void* userData; - - // The ANativeActivity object instance that this app is running in. - ANativeActivity* activity; - - // The ALooper associated with the app's thread. - ALooper* looper; - - // When non-NULL, this is the input queue from which the app will - // receive user input events. - AInputQueue* inputQueue; - - // When non-NULL, this is the window surface that the app can draw in. - ANativeWindow* window; - - // Current content rectangle of the window; this is the area where the - // window's content should be placed to be seen by the user. - ARect contentRect; - - // Current state of the app's activity. May be either APP_CMD_START, - // APP_CMD_RESUME, APP_CMD_PAUSE, or APP_CMD_STOP; see below. - int activityState; - - // ------------------------------------------------- - // Below are "private" implementation of the glue code. - - pthread_mutex_t mutex; - pthread_cond_t cond; - - int msgread; - int msgwrite; - - pthread_t thread; - - // This is non-zero when the application's NativeActivity is being - // destroyed and waiting for the app thread to complete. - int destroyRequested; - - int running; - int destroyed; - int redrawNeeded; - AInputQueue* pendingInputQueue; - ANativeWindow* pendingWindow; - ARect pendingContentRect; -}; - -enum { - /** - * Looper data ID of commands coming from the app's main thread. - * These can be retrieved and processed with android_app_read_cmd() - * and android_app_exec_cmd(). - */ - LOOPER_ID_MAIN = 1, - - /** - * Looper data ID of events coming from the AInputQueue of the - * application's window. These can be read via the inputQueue - * object of android_app. - */ - LOOPER_ID_EVENT = 2 -}; - -enum { - /** - * Command from main thread: the AInputQueue has changed. Upon processing - * this command, android_app->inputQueue will be updated to the new queue - * (or NULL). - */ - APP_CMD_INPUT_CHANGED, - - /** - * Command from main thread: the ANativeWindow has changed. Upon processing - * this command, android_app->window will be updated to the new window surface - * (or NULL). - */ - APP_CMD_WINDOW_CHANGED, - - /** - * Command from main thread: the current ANativeWindow has been resized. - * Please redraw with its new size. - */ - APP_CMD_WINDOW_RESIZED, - - /** - * Command from main thread: the system needs that the current ANativeWindow - * be redrawn. You should redraw the window before handing this to - * android_app_exec_cmd() in order to avoid transient drawing glitches. - */ - APP_CMD_WINDOW_REDRAW_NEEDED, - - /** - * Command from main thread: the content area of the window has changed, - * such as from the soft input window being shown or hidden. You can - * find the new content rect in android_app::contentRect. - */ - APP_CMD_CONTENT_RECT_CHANGED, - - /** - * Command from main thread: the app's activity window has gained - * input focus. - */ - APP_CMD_GAINED_FOCUS, - - /** - * Command from main thread: the app's activity window has lost - * input focus. - */ - APP_CMD_LOST_FOCUS, - - /** - * Command from main thread: the system is running low on memory. - * Try to reduce your memory use. - */ - APP_CMD_LOW_MEMORY, - - /** - * Command from main thread: the app's activity has been started. - */ - APP_CMD_START, - - /** - * Command from main thread: the app's activity has been resumed. - */ - APP_CMD_RESUME, - - /** - * Command from main thread: the app's activity has been paused. - */ - APP_CMD_PAUSE, - - /** - * Command from main thread: the app's activity has been stopped. - */ - APP_CMD_STOP, - - /** - * Command from main thread: the app's activity is being destroyed, - * and waiting for the app thread to clean up and exit before proceeding. - */ - APP_CMD_DESTROY, -}; - -/** - * Call when ALooper_pollAll() returns LOOPER_ID_MAIN, reading the next - * app command message. - */ -int8_t android_app_read_cmd(struct android_app* android_app); - -/** - * Call with the command returned by android_app_read_cmd() to do the - * default processing of the given command. - * - * Important: returns 0 if the app should exit. You must ALWAYS check for - * a zero return and, if found, exit your android_main() function. - */ -int32_t android_app_exec_cmd(struct android_app* android_app, int8_t cmd); - -/** - * This is the function that application code must implement, representing - * the main entry to the app. - */ -extern void android_main(struct android_app* app); |