blob: 5ea8721b203357800cc08f497e5f40cd3403107b [file] [log] [blame]
// Copyright 2022 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef LIBHWSEC_FRONTEND_MOCK_FRONTEND_H_
#define LIBHWSEC_FRONTEND_MOCK_FRONTEND_H_
#include <memory>
#include <utility>
#include "libhwsec/backend/mock_backend.h"
#include "libhwsec/middleware/middleware.h"
namespace hwsec {
class MockFrontend {
public:
MockFrontend() {
auto mock_backend = std::make_unique<MockBackend>();
mock_backend_ = mock_backend.get();
middleware_owner_ = std::make_unique<MiddlewareOwner>(
std::move(mock_backend),
base::SequencedTaskRunnerHandle::IsSet()
? base::SequencedTaskRunnerHandle::Get()
: nullptr,
base::PlatformThread::CurrentId());
}
virtual ~MockFrontend() = default;
MockBackend* GetMockBackend() { return mock_backend_; }
MiddlewareOwner* GetMiddlewareOwner() { return middleware_owner_.get(); }
private:
MockBackend* mock_backend_;
std::unique_ptr<MiddlewareOwner> middleware_owner_;
};
} // namespace hwsec
#endif // LIBHWSEC_FRONTEND_MOCK_FRONTEND_H_