| // Copyright 2018 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. |
| |
| #include "shill/ephemeral_profile.h" |
| |
| #include <chromeos/dbus/service_constants.h> |
| |
| #include "shill/adaptor_interfaces.h" |
| #include "shill/logging.h" |
| #include "shill/manager.h" |
| |
| namespace shill { |
| |
| namespace Logging { |
| static auto kModuleLogScope = ScopeLogger::kProfile; |
| static std::string ObjectID(const EphemeralProfile* e) { |
| return e->GetRpcIdentifier().value(); |
| } |
| } // namespace Logging |
| |
| namespace { |
| |
| constexpr char kFriendlyName[] = "(ephemeral)"; |
| |
| } // namespace |
| |
| EphemeralProfile::EphemeralProfile(Manager* manager) |
| : Profile(manager, Identifier(), base::FilePath(), false) {} |
| |
| EphemeralProfile::~EphemeralProfile() = default; |
| |
| std::string EphemeralProfile::GetFriendlyName() const { |
| return kFriendlyName; |
| } |
| |
| bool EphemeralProfile::AdoptService(const ServiceRefPtr& service) { |
| SLOG(this, 2) << "Adding service " << service->log_name() |
| << " to ephemeral profile."; |
| service->SetProfile(this); |
| return true; |
| } |
| |
| bool EphemeralProfile::AbandonService(const ServiceRefPtr& service) { |
| if (service->profile() == this) |
| service->SetProfile(nullptr); |
| SLOG(this, 2) << "Removing service " << service->log_name() |
| << " from ephemeral profile."; |
| return true; |
| } |
| |
| bool EphemeralProfile::Save() { |
| NOTREACHED(); |
| return false; |
| } |
| |
| } // namespace shill |