Loading cmds/surfaceflinger/main_surfaceflinger.cpp +19 −12 Original line number Diff line number Diff line #include <binder/IPCThreadState.h> #include <binder/ProcessState.h> #include <binder/IServiceManager.h> #include <utils/Log.h> /* * Copyright (C) 2010 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 <binder/BinderService.h> #include <SurfaceFlinger.h> using namespace android; int main(int argc, char** argv) { sp<ProcessState> proc(ProcessState::self()); sp<IServiceManager> sm = defaultServiceManager(); LOGI("ServiceManager: %p", sm.get()); SurfaceFlinger::instantiate(); ProcessState::self()->startThreadPool(); IPCThreadState::self()->joinThreadPool(); int main(int argc, char** argv) { SurfaceFlinger::publishAndJoinThreadPool(); return 0; } include/binder/BinderService.h 0 → 100644 +60 −0 Original line number Diff line number Diff line /* * Copyright (C) 2010 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 ANDROID_BINDER_SERVICE_H #define ANDROID_BINDER_SERVICE_H #include <stdint.h> #include <utils/Errors.h> #include <utils/String16.h> #include <binder/IServiceManager.h> #include <binder/IPCThreadState.h> #include <binder/ProcessState.h> #include <binder/IServiceManager.h> // --------------------------------------------------------------------------- namespace android { template<typename SERVICE> class BinderService { public: static status_t publish() { sp<IServiceManager> sm(defaultServiceManager()); return sm->addService(String16(SERVICE::getServiceName()), new SERVICE()); } static void publishAndJoinThreadPool() { sp<ProcessState> proc(ProcessState::self()); sp<IServiceManager> sm(defaultServiceManager()); sm->addService(String16(SERVICE::getServiceName()), new SERVICE()); ProcessState::self()->startThreadPool(); IPCThreadState::self()->joinThreadPool(); } static void instantiate() { publish(); } static status_t shutdown() { return NO_ERROR; } }; }; // namespace android // --------------------------------------------------------------------------- #endif // ANDROID_BINDER_SERVICE_H services/audioflinger/AudioFlinger.cpp +0 −7 Original line number Diff line number Diff line Loading @@ -6068,11 +6068,4 @@ status_t AudioFlinger::onTransact( return BnAudioFlinger::onTransact(code, data, reply, flags); } // ---------------------------------------------------------------------------- void AudioFlinger::instantiate() { defaultServiceManager()->addService( String16("media.audio_flinger"), new AudioFlinger()); } }; // namespace android services/audioflinger/AudioFlinger.h +8 −3 Original line number Diff line number Diff line Loading @@ -31,10 +31,12 @@ #include <utils/Atomic.h> #include <utils/Errors.h> #include <utils/threads.h> #include <binder/MemoryDealer.h> #include <utils/SortedVector.h> #include <utils/Vector.h> #include <binder/BinderService.h> #include <binder/MemoryDealer.h> #include <hardware_legacy/AudioHardwareInterface.h> #include "AudioBufferProvider.h" Loading @@ -58,10 +60,13 @@ class AudioResampler; static const nsecs_t kStandbyTimeInNsecs = seconds(3); class AudioFlinger : public BnAudioFlinger class AudioFlinger : public BinderService<AudioFlinger>, public BnAudioFlinger { friend class BinderService<AudioFlinger>; public: static void instantiate(); static char const* getServiceName() { return "media.audio_flinger"; } virtual status_t dump(int fd, const Vector<String16>& args); Loading services/camera/libcameraservice/CameraService.cpp +0 −5 Original line number Diff line number Diff line Loading @@ -192,11 +192,6 @@ sp<CameraService::Client> CameraService::getClientById(int cameraId) { return mClient[cameraId].promote(); } void CameraService::instantiate() { defaultServiceManager()->addService(String16("media.camera"), new CameraService()); } status_t CameraService::onTransact( uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) { // Permission checks Loading Loading
cmds/surfaceflinger/main_surfaceflinger.cpp +19 −12 Original line number Diff line number Diff line #include <binder/IPCThreadState.h> #include <binder/ProcessState.h> #include <binder/IServiceManager.h> #include <utils/Log.h> /* * Copyright (C) 2010 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 <binder/BinderService.h> #include <SurfaceFlinger.h> using namespace android; int main(int argc, char** argv) { sp<ProcessState> proc(ProcessState::self()); sp<IServiceManager> sm = defaultServiceManager(); LOGI("ServiceManager: %p", sm.get()); SurfaceFlinger::instantiate(); ProcessState::self()->startThreadPool(); IPCThreadState::self()->joinThreadPool(); int main(int argc, char** argv) { SurfaceFlinger::publishAndJoinThreadPool(); return 0; }
include/binder/BinderService.h 0 → 100644 +60 −0 Original line number Diff line number Diff line /* * Copyright (C) 2010 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 ANDROID_BINDER_SERVICE_H #define ANDROID_BINDER_SERVICE_H #include <stdint.h> #include <utils/Errors.h> #include <utils/String16.h> #include <binder/IServiceManager.h> #include <binder/IPCThreadState.h> #include <binder/ProcessState.h> #include <binder/IServiceManager.h> // --------------------------------------------------------------------------- namespace android { template<typename SERVICE> class BinderService { public: static status_t publish() { sp<IServiceManager> sm(defaultServiceManager()); return sm->addService(String16(SERVICE::getServiceName()), new SERVICE()); } static void publishAndJoinThreadPool() { sp<ProcessState> proc(ProcessState::self()); sp<IServiceManager> sm(defaultServiceManager()); sm->addService(String16(SERVICE::getServiceName()), new SERVICE()); ProcessState::self()->startThreadPool(); IPCThreadState::self()->joinThreadPool(); } static void instantiate() { publish(); } static status_t shutdown() { return NO_ERROR; } }; }; // namespace android // --------------------------------------------------------------------------- #endif // ANDROID_BINDER_SERVICE_H
services/audioflinger/AudioFlinger.cpp +0 −7 Original line number Diff line number Diff line Loading @@ -6068,11 +6068,4 @@ status_t AudioFlinger::onTransact( return BnAudioFlinger::onTransact(code, data, reply, flags); } // ---------------------------------------------------------------------------- void AudioFlinger::instantiate() { defaultServiceManager()->addService( String16("media.audio_flinger"), new AudioFlinger()); } }; // namespace android
services/audioflinger/AudioFlinger.h +8 −3 Original line number Diff line number Diff line Loading @@ -31,10 +31,12 @@ #include <utils/Atomic.h> #include <utils/Errors.h> #include <utils/threads.h> #include <binder/MemoryDealer.h> #include <utils/SortedVector.h> #include <utils/Vector.h> #include <binder/BinderService.h> #include <binder/MemoryDealer.h> #include <hardware_legacy/AudioHardwareInterface.h> #include "AudioBufferProvider.h" Loading @@ -58,10 +60,13 @@ class AudioResampler; static const nsecs_t kStandbyTimeInNsecs = seconds(3); class AudioFlinger : public BnAudioFlinger class AudioFlinger : public BinderService<AudioFlinger>, public BnAudioFlinger { friend class BinderService<AudioFlinger>; public: static void instantiate(); static char const* getServiceName() { return "media.audio_flinger"; } virtual status_t dump(int fd, const Vector<String16>& args); Loading
services/camera/libcameraservice/CameraService.cpp +0 −5 Original line number Diff line number Diff line Loading @@ -192,11 +192,6 @@ sp<CameraService::Client> CameraService::getClientById(int cameraId) { return mClient[cameraId].promote(); } void CameraService::instantiate() { defaultServiceManager()->addService(String16("media.camera"), new CameraService()); } status_t CameraService::onTransact( uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) { // Permission checks Loading