main.cc revision b91fd4923f411705be97fbc5c0ada37481c0cd8d
16bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen// Copyright 2014 The Chromium OS Authors. All rights reserved. 26bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen// Use of this source code is governed by a BSD-style license that can be 36bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen// found in the LICENSE file. 46bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen 5b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn#include <memory> 66bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen#include <string> 76bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen 86bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen#include <base/command_line.h> 9da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko#include <chromeos/daemons/dbus_daemon.h> 10da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko#include <chromeos/dbus/async_event_sequencer.h> 116bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen#include <chromeos/syslog_logging.h> 126bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen 13b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn#include "attestation/common/dbus_interface.h" 14ab0cddda9971f97781fc9f6cbc76095ba7542abfAlex Vakulenko#include "attestation/server/attestation_service.h" 15b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn#include "attestation/server/dbus_service.h" 166bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen 17da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenkousing chromeos::dbus_utils::AsyncEventSequencer; 1845fc1234b4f1a1c1cfdd44774350a70b26b9b630Alex Vakulenko 19da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenkoclass AttestationDaemon : public chromeos::DBusServiceDaemon { 20da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko public: 21da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko AttestationDaemon() 22b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn : chromeos::DBusServiceDaemon(attestation::kAttestationServiceName) { 23b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn attestation_service_.reset(new attestation::AttestationService); 24b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn CHECK(attestation_service_->Initialize()); 25b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn } 266bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen 27da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko protected: 28da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko void RegisterDBusObjectsAsync(AsyncEventSequencer* sequencer) override { 29b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn dbus_service_.reset(new attestation::DBusService( 30b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn bus_, 31b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn attestation_service_.get())); 32b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn dbus_service_->Register(sequencer->GetHandler("Register() failed.", true)); 33da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko } 346bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen 35da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko private: 36b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn std::unique_ptr<attestation::AttestationInterface> attestation_service_; 37b91fd4923f411705be97fbc5c0ada37481c0cd8dDarren Krahn std::unique_ptr<attestation::DBusService> dbus_service_; 386bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen 39da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko DISALLOW_COPY_AND_ASSIGN(AttestationDaemon); 40da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko}; 416bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen 42da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenkoint main(int argc, char* argv[]) { 433518664c4f5d8215aed7e0b92e6f4ea4a8902195Alex Vakulenko base::CommandLine::Init(argc, argv); 44da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko chromeos::InitLog(chromeos::kLogToSyslog | chromeos::kLogToStderr); 45da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko AttestationDaemon daemon; 46da5dd42c581f324bcfa96b0e4f3513cc6e331d67Alex Vakulenko return daemon.Run(); 476bead48129845a2bc0d6ff347f3d7e232004d59Nam T. Nguyen} 48