init.cc revision b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8
1e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie/* 2e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * Copyright (C) 2016 The Android Open Source Project 3e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * 4e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * Licensed under the Apache License, Version 2.0 (the "License"); 5e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * you may not use this file except in compliance with the License. 6e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * You may obtain a copy of the License at 7e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * 8e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * http://www.apache.org/licenses/LICENSE-2.0 9e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * 10e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * Unless required by applicable law or agreed to in writing, software 11e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * distributed under the License is distributed on an "AS IS" BASIS, 12e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * See the License for the specific language governing permissions and 14e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie * limitations under the License. 15e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie */ 16e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie 17e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie#include "chre/core/init.h" 18e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie 19569958550a629c55cba3d38cb309af2ad278e336Meng-hsuan Chung#include "ash/ash.h" 20b1c45b9446bd6bf2e95b0768353165e8009594f6Andrew Rossignol#include "chre/core/event_loop_manager.h" 210d94eb2fcf599754d9a1087c3292ab6ac6495de6Andrew Rossignol#include "chre/platform/platform_sensor.h" 22e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie#include "chre/platform/system_time.h" 23b1c45b9446bd6bf2e95b0768353165e8009594f6Andrew Rossignol#include "chre/util/singleton.h" 24e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie 25b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol#ifndef CHRE_VERSION_STRING 26b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol#define CHRE_VERSION_STRING "undefined" 27b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol#endif // CHRE_VERSION_STRING 28b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol 29b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol//! The CHRE version string. Placed in a variable in the global namespace for 30b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol//! easy access with debugging tools. 31b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignolstatic const char kChreVersionString[] = CHRE_VERSION_STRING; 32b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol 33e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddienamespace chre { 34e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie 35e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddievoid init() { 36b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol LOGI("CHRE init, version: %s", kChreVersionString); 37b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol 38e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie SystemTime::init(); 390d94eb2fcf599754d9a1087c3292ab6ac6495de6Andrew Rossignol PlatformSensor::init(); 40569958550a629c55cba3d38cb309af2ad278e336Meng-hsuan Chung ashInit(); 41b1c45b9446bd6bf2e95b0768353165e8009594f6Andrew Rossignol EventLoopManagerSingleton::init(); 42e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie} 43e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie 44b5ef2cebc2d8b17e1dd4fa026d3842f97c79d8fbAndrew Rossignolvoid deinit() { 451c0fa3625f48fee1f1442a948737f8a4562e9e8fAndrew Rossignol EventLoopManagerSingleton::deinit(); 46569958550a629c55cba3d38cb309af2ad278e336Meng-hsuan Chung ashDeinit(); 470d94eb2fcf599754d9a1087c3292ab6ac6495de6Andrew Rossignol PlatformSensor::deinit(); 48b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol 49b8ba15efb67b70862c4b8ee0089d8f42b5da8bc8Andrew Rossignol LOGI("CHRE deinit"); 50b5ef2cebc2d8b17e1dd4fa026d3842f97c79d8fbAndrew Rossignol} 51b5ef2cebc2d8b17e1dd4fa026d3842f97c79d8fbAndrew Rossignol 52e64f180233e64c40b56993cfea3696c5b4b16395Brian Duddie} // namespace chre 53