1 /*
2  * Copyright (C) 2016 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 #ifndef ANDROID_IACTIVITY_MANAGER_H
18 #define ANDROID_IACTIVITY_MANAGER_H
19 
20 #ifndef __ANDROID_VNDK__
21 
22 #include <binder/IInterface.h>
23 #include <binder/IUidObserver.h>
24 
25 namespace android {
26 
27 // ------------------------------------------------------------------------------------
28 
29 class IActivityManager : public IInterface
30 {
31 public:
32     DECLARE_META_INTERFACE(ActivityManager)
33 
34     virtual int openContentUri(const String16& stringUri) = 0;
35     virtual void registerUidObserver(const sp<IUidObserver>& observer,
36                                      const int32_t event,
37                                      const int32_t cutpoint,
38                                      const String16& callingPackage) = 0;
39     virtual void unregisterUidObserver(const sp<IUidObserver>& observer) = 0;
40     virtual bool isUidActive(const uid_t uid, const String16& callingPackage) = 0;
41     virtual int32_t getUidProcessState(const uid_t uid, const String16& callingPackage) = 0;
42 
43     enum {
44         OPEN_CONTENT_URI_TRANSACTION = IBinder::FIRST_CALL_TRANSACTION,
45         REGISTER_UID_OBSERVER_TRANSACTION,
46         UNREGISTER_UID_OBSERVER_TRANSACTION,
47         IS_UID_ACTIVE_TRANSACTION,
48         GET_UID_PROCESS_STATE_TRANSACTION
49     };
50 };
51 
52 // ------------------------------------------------------------------------------------
53 
54 } // namespace android
55 
56 #else // __ANDROID_VNDK__
57 #error "This header is not visible to vendors"
58 #endif // __ANDROID_VNDK__
59 
60 #endif // ANDROID_IACTIVITY_MANAGER_H
61