blob: 77f8775859864fa8e6e8b64aeae8db38f935d811 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "mojo/public/cpp/system/message_pipe.h"
#include "services/service_manager/public/c/main.h"
#include "services/service_manager/public/mojom/service.mojom.h"
#include "services/video_capture/service_impl.h"
MojoResult ServiceMain(MojoHandle service_request_handle) {
base::MessageLoop message_loop;
base::RunLoop run_loop;
video_capture::ServiceImpl service{service_manager::mojom::ServiceRequest(
mojo::MakeScopedHandle(mojo::MessagePipeHandle(service_request_handle)))};
service.set_termination_closure(run_loop.QuitClosure());
run_loop.Run();
return MOJO_RESULT_OK;
}