Static.h revision 9066cfe9886ac131c34d59ed0e2d287b0e3c0087
1/*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17// All static variables go here, to control initialization and
18// destruction order in the library.
19
20#include <utils/threads.h>
21#include <utils/KeyedVector.h>
22
23#ifndef LIBUTILS_NATIVE
24#include <utils/IBinder.h>
25#include <utils/IMemory.h>
26#include <utils/ProcessState.h>
27#include <utils/IPermissionController.h>
28#include <utils/IServiceManager.h>
29#endif
30
31namespace android {
32// For TextStream.cpp
33extern Vector<int32_t> gTextBuffers;
34
35// For String8.cpp
36extern void initialize_string8();
37extern void terminate_string8();
38
39// For String16.cpp
40extern void initialize_string16();
41extern void terminate_string16();
42
43
44
45#ifndef LIBUTILS_NATIVE
46
47// For ProcessState.cpp
48extern Mutex gProcessMutex;
49extern sp<ProcessState> gProcess;
50
51// For ServiceManager.cpp
52extern Mutex gDefaultServiceManagerLock;
53extern sp<IServiceManager> gDefaultServiceManager;
54extern sp<IPermissionController> gPermissionController;
55
56#endif
57
58}   // namespace android
59