blob: 7487744292d23b17c8a39a935a89ff5fa48b9ab0 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#![deny(warnings)]
#![feature(futures_api)]
mod dev_auth_provider_iotid;
mod dev_auth_provider_iotid_factory;
use crate::dev_auth_provider_iotid_factory::AuthProviderFactory;
use failure::{Error, ResultExt};
use fidl::endpoints::ServiceMarker;
use fidl_fuchsia_auth::AuthProviderFactoryMarker;
use fuchsia_app::server::ServicesServer;
use fuchsia_async as fasync;
use log::info;
fn main() -> Result<(), Error> {
fuchsia_syslog::init_with_tags(&["auth"]).expect("Can't init logger");
info!("Starting dev auth provider");
let mut executor = fasync::Executor::new().context("Error creating executor")?;
let fut = ServicesServer::new()
.add_service((AuthProviderFactoryMarker::NAME, |chan| {
AuthProviderFactory::spawn(chan)
}))
.start()
.context("Error starting dev auth provider server")?;
executor
.run_singlethreaded(fut)
.context("Failed to execute dev auth provider future")?;
Ok(())
}