1 /** 2 * Copyright (c) 2013, 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 #include <stdint.h> 18 #include <sys/types.h> 19 20 #include <utils/Singleton.h> 21 22 namespace android { 23 24 class ConnectivityManager : public Singleton<ConnectivityManager> { 25 // Keep this in sync with IConnectivityManager.aidl 26 static const int TRANSACTION_markSocketAsUser = IBinder::FIRST_CALL_TRANSACTION; 27 static const String16 DESCRIPTOR; 28 29 friend class Singleton<ConnectivityManager>; 30 sp<IBinder> mConnectivityService; 31 32 ConnectivityManager(); 33 34 void markSocketAsUserImpl(int fd, uid_t uid); 35 36 public: 37 static void markSocketAsUser(int fd, uid_t uid) { 38 ConnectivityManager::getInstance().markSocketAsUserImpl(fd, uid); 39 } 40 }; 41 42 }; 43