• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright (C) 2014 The Android Open Source Project
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #include "apmanager/daemon.h"
18 
19 #include <sysexits.h>
20 
21 #include <base/logging.h>
22 
23 #include "apmanager/dbus/dbus_control.h"
24 
25 namespace apmanager {
26 
27 // static
28 #if !defined(__ANDROID__)
29 const char Daemon::kAPManagerGroupName[] = "apmanager";
30 const char Daemon::kAPManagerUserName[] = "apmanager";
31 #else
32 const char Daemon::kAPManagerGroupName[] = "system";
33 const char Daemon::kAPManagerUserName[] = "system";
34 #endif  // __ANDROID__
35 
Daemon(const base::Closure & startup_callback)36 Daemon::Daemon(const base::Closure& startup_callback)
37     : startup_callback_(startup_callback) {
38 }
39 
OnInit()40 int Daemon::OnInit() {
41   int return_code = brillo::Daemon::OnInit();
42   if (return_code != EX_OK) {
43     return return_code;
44   }
45 
46   // Setup control interface. The control interface will expose
47   // our service (Manager) through its RPC interface.
48   control_interface_.reset(new DBusControl());
49   control_interface_->Init();
50 
51   // Signal that we've acquired all resources.
52   startup_callback_.Run();
53 
54   return EX_OK;
55 }
56 
OnShutdown(int * return_code)57 void Daemon::OnShutdown(int* return_code) {
58   control_interface_->Shutdown();
59 }
60 
61 }  // namespace apmanager
62