// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_ #define WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_ #include #include "base/file_path.h" #include "webkit/plugins/webkit_plugins_export.h" namespace webkit { namespace ppapi { class PluginModule; // TODO(vtl): Once we put |::FilePath| into the |base| namespace, get rid of the // |Pepper| (or |PEPPER_|) prefixes. Right now, it's just too // confusing/dangerous! class PepperFilePath { public: enum Domain { DOMAIN_INVALID = 0, DOMAIN_ABSOLUTE, DOMAIN_MODULE_LOCAL, // Used for validity-checking. DOMAIN_MAX_VALID = DOMAIN_MODULE_LOCAL }; WEBKIT_PLUGINS_EXPORT PepperFilePath(); WEBKIT_PLUGINS_EXPORT PepperFilePath(Domain d, const FilePath& p); static PepperFilePath MakeAbsolute(const FilePath& path); static PepperFilePath MakeModuleLocal(PluginModule* module, const char* utf8_path); Domain domain() const { return domain_; } const FilePath& path() const { return path_; } private: Domain domain_; FilePath path_; }; } // namespace ppapi } // namespace webkit #endif // WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_