add paths_win.cc to FML (#3563)

* add paths_win.cc to FML

* update licenses
This commit is contained in:
Michael Goderbauer 2017-04-04 14:00:51 -07:00 committed by GitHub
parent 772a0db5e4
commit d0e48f2efb
3 changed files with 30 additions and 0 deletions

View File

@ -95,6 +95,7 @@ source_set("fml") {
sources += [
"platform/win/message_loop_win.cc",
"platform/win/message_loop_win.h",
"platform/win/paths_win.cc",
]
}
}

View File

@ -0,0 +1,28 @@
// Copyright 2017 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.
#include "flutter/fml/paths.h"
#include <windows.h>
#include "lib/ftl/files/path.h"
namespace fml {
namespace paths {
std::pair<bool, std::string> GetExecutableDirectoryPath() {
HMODULE module = GetModuleHandle(NULL);
if (module == NULL) {
return {false, ""};
}
char path[MAX_PATH];
DWORD read_size = GetModuleFileNameA(module, path, MAX_PATH);
if (read_size == 0 || read_size == MAX_PATH) {
return {false, ""};
}
return {true, files::GetDirectoryName(std::string{path, read_size})};
}
} // namespace paths
} // namespace fml

View File

@ -1401,6 +1401,7 @@ FILE: ../../../flutter/fml/platform/linux/timerfd.cc
FILE: ../../../flutter/fml/platform/linux/timerfd.h
FILE: ../../../flutter/fml/platform/win/message_loop_win.cc
FILE: ../../../flutter/fml/platform/win/message_loop_win.h
FILE: ../../../flutter/fml/platform/win/paths_win.cc
FILE: ../../../flutter/fml/task_observer.h
FILE: ../../../flutter/fml/task_runner.cc
FILE: ../../../flutter/fml/task_runner.h