1c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
2c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// Copyright (C) 2015 The Android Open Source Project
3c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
4c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// Licensed under the Apache License, Version 2.0 (the "License");
5c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// you may not use this file except in compliance with the License.
6c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// You may obtain a copy of the License at
7c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
8c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//      http://www.apache.org/licenses/LICENSE-2.0
9c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
10c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// Unless required by applicable law or agreed to in writing, software
11c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// distributed under the License is distributed on an "AS IS" BASIS,
12c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// See the License for the specific language governing permissions and
14c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu// limitations under the License.
15c0beca55d290fe0b1c96d78cbbcf94b05c23f5a5Peter Qiu//
166fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
176fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu#ifndef SHILL_ETHERNET_ETHERNET_TEMPORARY_SERVICE_H_
186fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu#define SHILL_ETHERNET_ETHERNET_TEMPORARY_SERVICE_H_
196fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
206fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu#include <string>
216fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
226fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu#include "shill/service.h"
236fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
246fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiunamespace shill {
256fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
266fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiuclass ControlInterface;
276fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiuclass EventDispatcher;
286fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiuclass Manager;
296fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiuclass Metrics;
306fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
316fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu// This is only use for loading non-active Ethernet service entries from the
326fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu// profile.
336fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiuclass EthernetTemporaryService : public Service {
346fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu public:
357e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart  EthernetTemporaryService(ControlInterface* control_interface,
367e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart                           EventDispatcher* dispatcher,
377e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart                           Metrics* metrics,
387e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart                           Manager* manager,
397e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart                           const std::string& storage_identifier);
406fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu  ~EthernetTemporaryService() override;
416fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
426fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu  // Inherited from Service.
437e779d87abbba4d9e50ef28513a27c7bbd5cd550Paul Stewart  std::string GetDeviceRpcId(Error* error) const override;
446fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu  std::string GetStorageIdentifier() const override;
456fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu  bool IsVisible() const override;
466fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
476fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu private:
486fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu  std::string storage_identifier_;
496fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu  DISALLOW_COPY_AND_ASSIGN(EthernetTemporaryService);
506fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu};
516fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
526fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu}  // namespace shill
536fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu
546fc1a8c5f20dd52992a598a809d44ba8d489aad8Peter Qiu#endif  // SHILL_ETHERNET_ETHERNET_TEMPORARY_SERVICE_H_
55