1//
2// Copyright (C) 2015 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17#ifndef SHILL_ETHERNET_ETHERNET_TEMPORARY_SERVICE_H_
18#define SHILL_ETHERNET_ETHERNET_TEMPORARY_SERVICE_H_
19
20#include <string>
21
22#include "shill/service.h"
23
24namespace shill {
25
26class ControlInterface;
27class EventDispatcher;
28class Manager;
29class Metrics;
30
31// This is only use for loading non-active Ethernet service entries from the
32// profile.
33class EthernetTemporaryService : public Service {
34 public:
35  EthernetTemporaryService(ControlInterface* control_interface,
36                           EventDispatcher* dispatcher,
37                           Metrics* metrics,
38                           Manager* manager,
39                           const std::string& storage_identifier);
40  ~EthernetTemporaryService() override;
41
42  // Inherited from Service.
43  std::string GetDeviceRpcId(Error* error) const override;
44  std::string GetStorageIdentifier() const override;
45  bool IsVisible() const override;
46
47 private:
48  std::string storage_identifier_;
49  DISALLOW_COPY_AND_ASSIGN(EthernetTemporaryService);
50};
51
52}  // namespace shill
53
54#endif  // SHILL_ETHERNET_ETHERNET_TEMPORARY_SERVICE_H_
55