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