File: profilefactory.cpp

package info (click to toggle)
corectrl 1.4.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 4,420 kB
  • sloc: cpp: 40,502; ansic: 174; javascript: 151; makefile: 18; sh: 3
file content (22 lines) | stat: -rw-r--r-- 629 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// SPDX-License-Identifier: GPL-3.0-or-later
// Copyright 2019 Juan Palacios <jpalaciosdev@gmail.com>

#include "profilefactory.h"

#include "isysmodel.h"
#include "profile.h"
#include <utility>

ProfileFactory::ProfileFactory(
    std::unique_ptr<IProfilePartProvider> &&profilePartProvider) noexcept
: profilePartProvider_(std::move(profilePartProvider))
{
}

std::unique_ptr<IProfile> ProfileFactory::build(ISysModel const &sysModel) const
{
  auto profile = std::make_unique<Profile>();
  Profile::Factory profileFactory(*profilePartProvider_, *profile);
  sysModel.exportWith(profileFactory);
  return std::move(profile);
}