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