blob: 803c444472c55c59e19d92b3107258213e67104f [file] [log] [blame]
Chris Masone88cbd5f2011-07-03 14:30:04 -07001// 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_DEFAULT_PROFILE_
6#define SHILL_DEFAULT_PROFILE_
7
8#include <string>
9#include <vector>
10
Chris Masone2ae797d2011-08-23 20:41:00 -070011#include <base/file_path.h>
Chris Masone88cbd5f2011-07-03 14:30:04 -070012#include <base/memory/scoped_ptr.h>
13
14#include "shill/manager.h"
15#include "shill/profile.h"
16#include "shill/property_store.h"
17#include "shill/refptr_types.h"
18#include "shill/shill_event.h"
19
20namespace shill {
21
22class ControlInterface;
23
24class DefaultProfile : public Profile {
25 public:
Chris Masone2ae797d2011-08-23 20:41:00 -070026 DefaultProfile(ControlInterface *control,
Chris Masone6791a432011-07-12 13:23:19 -070027 Manager *manager,
Chris Masone2ae797d2011-08-23 20:41:00 -070028 const FilePath &storage_path,
Chris Masone88cbd5f2011-07-03 14:30:04 -070029 const Manager::Properties &manager_props);
30 virtual ~DefaultProfile();
31
Chris Masone2ae797d2011-08-23 20:41:00 -070032 // Sets |path| to the persistent store file path for the default, global
33 // profile. Returns true on success, and false if unable to determine an
34 // appropriate file location.
35 //
36 // In this implementation, |name_| is ignored.
37 virtual bool GetStoragePath(FilePath *path);
38
Chris Masone88cbd5f2011-07-03 14:30:04 -070039 private:
Chris Masone7df0c672011-07-15 10:24:54 -070040 static const char kDefaultId[];
41
Chris Masone2ae797d2011-08-23 20:41:00 -070042 const FilePath storage_path_;
43
Chris Masone88cbd5f2011-07-03 14:30:04 -070044 DISALLOW_COPY_AND_ASSIGN(DefaultProfile);
45};
46
47} // namespace shill
48
49#endif // SHILL_DEFAULT_PROFILE_