Throw error when PathService call failed

This commit is contained in:
Cheng Zhao 2015-01-18 20:24:58 -08:00
parent dec3e37683
commit 3d398458a8
3 changed files with 21 additions and 9 deletions

View file

@ -151,18 +151,26 @@ void App::OnFinishLaunching() {
Emit("ready"); Emit("ready");
} }
base::FilePath App::GetPath(const std::string& name) { base::FilePath App::GetPath(mate::Arguments* args, const std::string& name) {
bool succeed = false;
base::FilePath path; base::FilePath path;
int key = GetPathConstant(name); int key = GetPathConstant(name);
if (key >= 0) if (key >= 0)
PathService::Get(key, &path); succeed = PathService::Get(key, &path);
if (!succeed)
args->ThrowError("Failed to get path");
return path; return path;
} }
void App::SetPath(const std::string& name, const base::FilePath& path) { void App::SetPath(mate::Arguments* args,
const std::string& name,
const base::FilePath& path) {
bool succeed = false;
int key = GetPathConstant(name); int key = GetPathConstant(name);
if (key >= 0) if (key >= 0)
PathService::Override(key, path); succeed = PathService::Override(key, path);
if (!succeed)
args->ThrowError("Failed to set path");
} }
void App::ResolveProxy(const GURL& url, ResolveProxyCallback callback) { void App::ResolveProxy(const GURL& url, ResolveProxyCallback callback) {

View file

@ -18,6 +18,10 @@ namespace base {
class FilePath; class FilePath;
} }
namespace mate {
class Arguments;
}
namespace atom { namespace atom {
namespace api { namespace api {
@ -49,11 +53,11 @@ class App : public mate::EventEmitter,
private: private:
// Get/Set the pre-defined path in PathService. // Get/Set the pre-defined path in PathService.
base::FilePath GetPath(const std::string& name); base::FilePath GetPath(mate::Arguments* args, const std::string& name);
void SetPath(const std::string& name, const base::FilePath& path); void SetPath(mate::Arguments* args,
const std::string& name,
const base::FilePath& path);
void SetDataPath(const base::FilePath& path);
base::FilePath GetDataPath();
void ResolveProxy(const GURL& url, ResolveProxyCallback callback); void ResolveProxy(const GURL& url, ResolveProxyCallback callback);
void SetDesktopName(const std::string& desktop_name); void SetDesktopName(const std::string& desktop_name);

2
vendor/brightray vendored

@ -1 +1 @@
Subproject commit 8eb714dac77e3d3fd43fba76c835d29b838cc8be Subproject commit f19c269ab974f22f31782c0c395119130fb59b15