Skip to content
Snippets Groups Projects
Select Git revision
  • ac1f7c159996e98779d36c9ad0989e3b6ef540ab
  • master default protected
  • android-msm-bullhead-3.10-nougat_kgdb_less_changes
  • android-msm-bullhead-3.10-nougat_kgdb
  • android-msm-bullhead-3.10-nougat_klist
  • android-4.4
  • android-msm-vega-4.4-oreo-daydream
  • android-msm-wahoo-4.4-p-preview-5
  • android-msm-wahoo-4.4-pie
  • android-msm-marlin-3.18-p-preview-5
  • android-msm-marlin-3.18-pie
  • android-msm-wahoo-2018.07-oreo-m2
  • android-msm-wahoo-2018.07-oreo-m4
  • android-msm-wahoo-4.4-p-preview-4
  • android-msm-bullhead-3.10-oreo-m6
  • android-msm-angler-3.10-oreo-m6
  • android-msm-marlin-3.18-p-preview-4
  • android-msm-stargazer-3.18-oreo-wear-dr
  • android-msm-catshark-3.18-oreo-wear-dr
  • android-msm-wahoo-4.4-oreo-m2
  • android-msm-wahoo-4.4-oreo-m4
  • android-daydreamos-8.0.0_r0.5
  • android-8.1.0_r0.92
  • android-8.1.0_r0.91
  • android-daydreamos-8.0.0_r0.4
  • android-p-preview-5_r0.2
  • android-p-preview-5_r0.1
  • android-9.0.0_r0.5
  • android-9.0.0_r0.4
  • android-9.0.0_r0.2
  • android-9.0.0_r0.1
  • android-8.1.0_r0.81
  • android-8.1.0_r0.80
  • android-8.1.0_r0.78
  • android-8.1.0_r0.76
  • android-8.1.0_r0.75
  • android-8.1.0_r0.72
  • android-8.1.0_r0.70
  • android-p-preview-4_r0.2
  • android-p-preview-4_r0.1
  • android-wear-8.0.0_r0.30
41 results

pl061.h

Blame
  • real_binder_wrapper.h 1.84 KiB
    /*
     * Copyright (C) 2015 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 SYSTEM_CORE_LIBBINDERWRAPPER_REAL_BINDER_WRAPPER_H_
    #define SYSTEM_CORE_LIBBINDERWRAPPER_REAL_BINDER_WRAPPER_H_
    
    #include <map>
    
    #include <base/macros.h>
    #include <binderwrapper/binder_wrapper.h>
    
    namespace android {
    
    class IBinder;
    
    // Real implementation of BinderWrapper.
    class RealBinderWrapper : public BinderWrapper {
     public:
      RealBinderWrapper();
      ~RealBinderWrapper() override;
    
      // BinderWrapper:
      sp<IBinder> GetService(const std::string& service_name) override;
      bool RegisterService(const std::string& service_name,
                           const sp<IBinder>& binder) override;
      sp<BBinder> CreateLocalBinder() override;
      bool RegisterForDeathNotifications(const sp<IBinder>& binder,
                                         const ::base::Closure& callback) override;
      bool UnregisterForDeathNotifications(const sp<IBinder>& binder) override;
      uid_t GetCallingUid() override;
      pid_t GetCallingPid() override;
    
     private:
      class DeathRecipient;
    
      // Map from binder handle to object that should be notified of the binder's
      // death.
      std::map<sp<IBinder>, sp<DeathRecipient>> death_recipients_;
    
      DISALLOW_COPY_AND_ASSIGN(RealBinderWrapper);
    };
    
    }  // namespace android
    
    #endif  // SYSTEM_CORE_LIBBINDER_WRAPPER_REAL_BINDER_WRAPPER_H_