Loading services/mediaresourcemanager/Android.bp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -13,6 +13,9 @@ cc_library { srcs: [ srcs: [ "ResourceManagerService.cpp", "ResourceManagerService.cpp", "ServiceLog.cpp", "ServiceLog.cpp", // TODO: convert to AIDL? "IMediaResourceMonitor.cpp", ], ], shared_libs: [ shared_libs: [ Loading services/mediaresourcemanager/IMediaResourceMonitor.cpp 0 → 100644 +63 −0 Original line number Original line Diff line number Diff line /* * Copyright 2016 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 "IMediaResourceMonitor.h" #include <binder/Parcel.h> #include <utils/Errors.h> #include <sys/types.h> namespace android { // ---------------------------------------------------------------------- class BpMediaResourceMonitor : public BpInterface<IMediaResourceMonitor> { public: explicit BpMediaResourceMonitor(const sp<IBinder>& impl) : BpInterface<IMediaResourceMonitor>(impl) {} virtual void notifyResourceGranted(/*in*/ int32_t pid, /*in*/ const int32_t type) { Parcel data, reply; data.writeInterfaceToken(IMediaResourceMonitor::getInterfaceDescriptor()); data.writeInt32(pid); data.writeInt32(type); remote()->transact(NOTIFY_RESOURCE_GRANTED, data, &reply, IBinder::FLAG_ONEWAY); } }; IMPLEMENT_META_INTERFACE(MediaResourceMonitor, "android.media.IMediaResourceMonitor") // ---------------------------------------------------------------------- // NOLINTNEXTLINE(google-default-arguments) status_t BnMediaResourceMonitor::onTransact( uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) { switch(code) { case NOTIFY_RESOURCE_GRANTED: { CHECK_INTERFACE(IMediaResourceMonitor, data, reply); int32_t pid = data.readInt32(); const int32_t type = data.readInt32(); notifyResourceGranted(/*in*/ pid, /*in*/ type); return NO_ERROR; } break; default: return BBinder::onTransact(code, data, reply, flags); } } // ---------------------------------------------------------------------- } // namespace android services/mediaresourcemanager/IMediaResourceMonitor.h 0 → 100644 +59 −0 Original line number Original line Diff line number Diff line /* * Copyright 2016 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. */ #pragma once #ifndef __ANDROID_VNDK__ #include <binder/IInterface.h> namespace android { // ---------------------------------------------------------------------- class IMediaResourceMonitor : public IInterface { public: DECLARE_META_INTERFACE(MediaResourceMonitor) // Values should be in sync with Intent.EXTRA_MEDIA_RESOURCE_TYPE_XXX. enum { TYPE_VIDEO_CODEC = 0, TYPE_AUDIO_CODEC = 1, }; virtual void notifyResourceGranted(/*in*/ int32_t pid, /*in*/ const int32_t type) = 0; enum { NOTIFY_RESOURCE_GRANTED = IBinder::FIRST_CALL_TRANSACTION, }; }; // ---------------------------------------------------------------------- class BnMediaResourceMonitor : public BnInterface<IMediaResourceMonitor> { public: // NOLINTNEXTLINE(google-default-arguments) virtual status_t onTransact(uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags = 0); }; // ---------------------------------------------------------------------- } // namespace android #else // __ANDROID_VNDK__ #error "This header is not visible to vendors" #endif // __ANDROID_VNDK__ services/mediaresourcemanager/ResourceManagerService.cpp +2 −1 Original line number Original line Diff line number Diff line Loading @@ -21,7 +21,7 @@ #include <android/binder_manager.h> #include <android/binder_manager.h> #include <android/binder_process.h> #include <android/binder_process.h> #include <binder/IMediaResourceMonitor.h> #include <binder/IPCThreadState.h> #include <binder/IServiceManager.h> #include <binder/IServiceManager.h> #include <cutils/sched_policy.h> #include <cutils/sched_policy.h> #include <dirent.h> #include <dirent.h> Loading @@ -35,6 +35,7 @@ #include <sys/time.h> #include <sys/time.h> #include <unistd.h> #include <unistd.h> #include "IMediaResourceMonitor.h" #include "ResourceManagerService.h" #include "ResourceManagerService.h" #include "ServiceLog.h" #include "ServiceLog.h" Loading Loading
services/mediaresourcemanager/Android.bp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -13,6 +13,9 @@ cc_library { srcs: [ srcs: [ "ResourceManagerService.cpp", "ResourceManagerService.cpp", "ServiceLog.cpp", "ServiceLog.cpp", // TODO: convert to AIDL? "IMediaResourceMonitor.cpp", ], ], shared_libs: [ shared_libs: [ Loading
services/mediaresourcemanager/IMediaResourceMonitor.cpp 0 → 100644 +63 −0 Original line number Original line Diff line number Diff line /* * Copyright 2016 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 "IMediaResourceMonitor.h" #include <binder/Parcel.h> #include <utils/Errors.h> #include <sys/types.h> namespace android { // ---------------------------------------------------------------------- class BpMediaResourceMonitor : public BpInterface<IMediaResourceMonitor> { public: explicit BpMediaResourceMonitor(const sp<IBinder>& impl) : BpInterface<IMediaResourceMonitor>(impl) {} virtual void notifyResourceGranted(/*in*/ int32_t pid, /*in*/ const int32_t type) { Parcel data, reply; data.writeInterfaceToken(IMediaResourceMonitor::getInterfaceDescriptor()); data.writeInt32(pid); data.writeInt32(type); remote()->transact(NOTIFY_RESOURCE_GRANTED, data, &reply, IBinder::FLAG_ONEWAY); } }; IMPLEMENT_META_INTERFACE(MediaResourceMonitor, "android.media.IMediaResourceMonitor") // ---------------------------------------------------------------------- // NOLINTNEXTLINE(google-default-arguments) status_t BnMediaResourceMonitor::onTransact( uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) { switch(code) { case NOTIFY_RESOURCE_GRANTED: { CHECK_INTERFACE(IMediaResourceMonitor, data, reply); int32_t pid = data.readInt32(); const int32_t type = data.readInt32(); notifyResourceGranted(/*in*/ pid, /*in*/ type); return NO_ERROR; } break; default: return BBinder::onTransact(code, data, reply, flags); } } // ---------------------------------------------------------------------- } // namespace android
services/mediaresourcemanager/IMediaResourceMonitor.h 0 → 100644 +59 −0 Original line number Original line Diff line number Diff line /* * Copyright 2016 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. */ #pragma once #ifndef __ANDROID_VNDK__ #include <binder/IInterface.h> namespace android { // ---------------------------------------------------------------------- class IMediaResourceMonitor : public IInterface { public: DECLARE_META_INTERFACE(MediaResourceMonitor) // Values should be in sync with Intent.EXTRA_MEDIA_RESOURCE_TYPE_XXX. enum { TYPE_VIDEO_CODEC = 0, TYPE_AUDIO_CODEC = 1, }; virtual void notifyResourceGranted(/*in*/ int32_t pid, /*in*/ const int32_t type) = 0; enum { NOTIFY_RESOURCE_GRANTED = IBinder::FIRST_CALL_TRANSACTION, }; }; // ---------------------------------------------------------------------- class BnMediaResourceMonitor : public BnInterface<IMediaResourceMonitor> { public: // NOLINTNEXTLINE(google-default-arguments) virtual status_t onTransact(uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags = 0); }; // ---------------------------------------------------------------------- } // namespace android #else // __ANDROID_VNDK__ #error "This header is not visible to vendors" #endif // __ANDROID_VNDK__
services/mediaresourcemanager/ResourceManagerService.cpp +2 −1 Original line number Original line Diff line number Diff line Loading @@ -21,7 +21,7 @@ #include <android/binder_manager.h> #include <android/binder_manager.h> #include <android/binder_process.h> #include <android/binder_process.h> #include <binder/IMediaResourceMonitor.h> #include <binder/IPCThreadState.h> #include <binder/IServiceManager.h> #include <binder/IServiceManager.h> #include <cutils/sched_policy.h> #include <cutils/sched_policy.h> #include <dirent.h> #include <dirent.h> Loading @@ -35,6 +35,7 @@ #include <sys/time.h> #include <sys/time.h> #include <unistd.h> #include <unistd.h> #include "IMediaResourceMonitor.h" #include "ResourceManagerService.h" #include "ResourceManagerService.h" #include "ServiceLog.h" #include "ServiceLog.h" Loading