1// Copyright (c) 2011 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 PPAPI_SHARED_IMPL_FILE_PATH_H_
6#define PPAPI_SHARED_IMPL_FILE_PATH_H_
7
8#include "base/files/file_path.h"
9#include "ppapi/shared_impl/ppapi_shared_export.h"
10
11namespace ppapi {
12
13// TODO(vtl): Once we put |::FilePath| into the |base| namespace, get rid of the
14// |Pepper| (or |PEPPER_|) prefixes. Right now, it's just too
15// confusing/dangerous!
16
17class PPAPI_SHARED_EXPORT PepperFilePath {
18 public:
19  enum Domain {
20    DOMAIN_INVALID = 0,
21    DOMAIN_ABSOLUTE,
22    DOMAIN_MODULE_LOCAL,
23
24    // Used for validity-checking.
25    DOMAIN_MAX_VALID = DOMAIN_MODULE_LOCAL
26  };
27
28  PepperFilePath();
29  PepperFilePath(Domain d, const base::FilePath& p);
30
31  Domain domain() const { return domain_; }
32  const base::FilePath& path() const { return path_; }
33
34 private:
35  Domain domain_;
36  base::FilePath path_;
37};
38
39}  // namespace ppapi
40
41#endif  // PPAPI_SHARED_IMPL_FILE_PATH_H_
42