ephemeral_profile.h revision 7aa5f90848b530999d8b6788ecb40aa30871c7ae
1// Copyright (c) 2011 The Chromium OS Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef SHILL_EPHEMERAL_PROFILE_ 6#define SHILL_EPHEMERAL_PROFILE_ 7 8#include <string> 9#include <vector> 10 11#include <base/memory/scoped_ptr.h> 12 13#include "shill/manager.h" 14#include "shill/profile.h" 15#include "shill/property_store.h" 16#include "shill/refptr_types.h" 17#include "shill/shill_event.h" 18 19namespace shill { 20 21class ControlInterface; 22 23// An in-memory profile that is not persisted to disk, but allows the 24// promotion of entries contained herein to the currently active profile. 25class EphemeralProfile : public Profile { 26 public: 27 EphemeralProfile(ControlInterface *control_interface, 28 GLib *glib, 29 Manager *manager); 30 virtual ~EphemeralProfile(); 31 32 virtual bool MoveToActiveProfile(const std::string &entry_name); 33 34 private: 35 Manager *manager_; 36 DISALLOW_COPY_AND_ASSIGN(EphemeralProfile); 37}; 38 39} // namespace shill 40 41#endif // SHILL_EPHEMERAL_PROFILE_ 42