network_profile.h revision b2df76ea8fec9e32f6f3718986dba0d95315b29c
1// Copyright (c) 2013 The Chromium 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 CHROMEOS_NETWORK_NETWORK_PROFILE_H_
6#define CHROMEOS_NETWORK_NETWORK_PROFILE_H_
7
8#include <string>
9
10#include "chromeos/chromeos_export.h"
11
12namespace chromeos {
13
14struct CHROMEOS_EXPORT NetworkProfile {
15  enum Type {
16    TYPE_SHARED,  // Shared by all users on the device.
17    TYPE_USER     // Not visible to other users.
18  };
19
20  NetworkProfile(const std::string& profile_path,
21                 const std::string& user_hash)
22      : path(profile_path),
23        userhash(user_hash) {
24  }
25
26  std::string path;
27  std::string userhash;  // Only set for user profiles.
28
29  Type type() const {
30    return userhash.empty() ? TYPE_SHARED : TYPE_USER;
31  }
32
33  std::string ToDebugString() const;
34};
35
36}  // namespace chromeos
37
38#endif  // CHROMEOS_NETWORK_NETWORK_PROFILE_H_
39