main_drmserver.cpp revision 40ddcb7150a31052ba20878454426dc3572b7acb
127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi/* 227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * Copyright (C) 2010 The Android Open Source Project 327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * Licensed under the Apache License, Version 2.0 (the "License"); 527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * you may not use this file except in compliance with the License. 627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * You may obtain a copy of the License at 727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * http://www.apache.org/licenses/LICENSE-2.0 927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * 1027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * Unless required by applicable law or agreed to in writing, software 1127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * distributed under the License is distributed on an "AS IS" BASIS, 1227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * See the License for the specific language governing permissions and 1427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi * limitations under the License. 1527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi */ 1627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 1740ddcb7150a31052ba20878454426dc3572b7acbGlenn Kasten#define LOG_TAG "drmserver" 1840ddcb7150a31052ba20878454426dc3572b7acbGlenn Kasten//#define LOG_NDEBUG 0 1940ddcb7150a31052ba20878454426dc3572b7acbGlenn Kasten 2027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <sys/types.h> 2127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <unistd.h> 2227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <grp.h> 2327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 2427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <binder/IPCThreadState.h> 2527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <binder/ProcessState.h> 2627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <binder/IServiceManager.h> 2727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <utils/Log.h> 2827ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <private/android_filesystem_config.h> 2927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 3027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi#include <DrmManagerService.h> 3127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 3227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiusing namespace android; 3327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 3427ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshiint main(int argc, char** argv) 3527ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi{ 3627ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi sp<ProcessState> proc(ProcessState::self()); 3727ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi sp<IServiceManager> sm = defaultServiceManager(); 3840ddcb7150a31052ba20878454426dc3572b7acbGlenn Kasten ALOGV("ServiceManager: %p", sm.get()); 3927ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi DrmManagerService::instantiate(); 4027ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi ProcessState::self()->startThreadPool(); 4127ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi IPCThreadState::self()->joinThreadPool(); 4227ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi} 4327ed8ad2db653f6ac07dcf8bcc05e2409c8bb024aimitakeshi 44