7031c3b0ce
config.h should be included as the 1st line in each source file. It should not be included in headers. config_version.h which changes on every commit should not be included widely - so remove it from the HttpRequest heeader to save tinderbox's ccache. Fetch version info from helper methods rather than in-lining via defines, to better encapsulate. Signed-off-by: Michael Meeks <michael.meeks@collabora.com> Change-Id: If449a36f1ac61940f04d70d5f4180db389d9b4c4
40 lines
1 KiB
C++
40 lines
1 KiB
C++
/*
|
|
* Copyright the Collabora Online contributors.
|
|
*
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*/
|
|
#include "config.h"
|
|
|
|
#include "StringVector.hpp"
|
|
#include "Util.hpp"
|
|
#include "COOLWSD.hpp"
|
|
#include "Kit.hpp"
|
|
|
|
void setKitInProcess() { Util::setKitInProcess(true); }
|
|
|
|
int createForkit(const std::string& forKitPath, const StringVector& args)
|
|
{
|
|
// create forkit in a thread
|
|
int argc = args.size() + 1;
|
|
char** argv = new char*[argc];
|
|
|
|
argv[0] = new char[forKitPath.size() + 1];
|
|
std::strcpy(argv[0], forKitPath.c_str());
|
|
for (size_t i = 0; i < args.size(); ++i)
|
|
{
|
|
argv[i + 1] = new char[args[i].size() + 1];
|
|
std::strcpy(argv[i + 1], args[i].c_str());
|
|
}
|
|
|
|
std::thread([argc, argv] {
|
|
Util::setThreadName("forkit");
|
|
forkit_main(argc, argv);
|
|
})
|
|
.detach();
|
|
|
|
return 0;
|
|
}
|