Skip to content

Commit

Permalink
[gui/ffi] move extern functions in extern block
Browse files Browse the repository at this point in the history
  • Loading branch information
andrei-toterman committed Apr 17, 2024
1 parent e5e7d7e commit a27d2d3
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 25 deletions.
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ BasedOnStyle: LLVM
---
Language: Cpp
IndentWidth: 4
IndentExternBlock: NoIndent
BreakBeforeBraces: Custom
BinPackArguments: false
BinPackParameters: false
Expand Down
27 changes: 15 additions & 12 deletions include/multipass/dart_ffi.h
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
#ifndef MULTIPASS_DART_FFI_H
#define MULTIPASS_DART_FFI_H

extern "C" const char* multipass_version();
extern "C"
{
const char* multipass_version();

extern "C" const char* generate_petname();
const char* generate_petname();

extern "C" const char* get_server_address();
const char* get_server_address();

extern "C" struct KeyCertificatePair
struct KeyCertificatePair
{
const char* pem_cert;
const char* pem_priv_key;
};

extern "C" struct KeyCertificatePair get_cert_pair();
struct KeyCertificatePair get_cert_pair();

enum SettingResult
{
Expand All @@ -23,18 +25,19 @@ enum SettingResult
UnexpectedError,
};

extern "C" const char* settings_file();
const char* settings_file();

extern "C" enum SettingResult get_setting(const char* key, const char** output);
enum SettingResult get_setting(const char* key, const char** output);

extern "C" enum SettingResult set_setting(const char* key, const char* value, const char** output);
enum SettingResult set_setting(const char* key, const char* value, const char** output);

extern "C" int uid();
int uid();

extern "C" int gid();
int gid();

extern "C" int default_id();
int default_id();

extern "C" long long memory_in_bytes(const char* value);
long long memory_in_bytes(const char* value);
}

#endif // MULTIPASS_DART_FFI_H
28 changes: 15 additions & 13 deletions src/client/desktop_gui/ffi/dart_ffi.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include "multipass/dart_ffi.h"
#include "multipass/cli/client_common.h"
#include "multipass/format.h"
#include "multipass/logging/log.h"
#include "multipass/memory_size.h"
#include "multipass/name_generator.h"
Expand All @@ -14,12 +13,14 @@ namespace mcp = multipass::cli::platform;

constexpr auto category = "dart-ffi";

extern "C" const char* multipass_version()
extern "C"
{
const char* multipass_version()
{
return mp::version_string;
}

extern "C" const char* generate_petname()
const char* generate_petname()
try
{
static mp::NameGenerator::UPtr generator = mp::make_default_name_generator();
Expand All @@ -37,7 +38,7 @@ catch (...)
return nullptr;
}

extern "C" const char* get_server_address()
const char* get_server_address()
try
{
const auto address = mpc::get_server_address();
Expand All @@ -54,10 +55,10 @@ catch (...)
return nullptr;
}

extern "C" struct KeyCertificatePair get_cert_pair()
struct KeyCertificatePair get_cert_pair()
try
{
const auto provider = mpc::get_cert_provider(mpc::get_server_address());
const auto provider = mpc::get_cert_provider();
const auto cert = provider->PEM_certificate();
const auto key = provider->PEM_signing_key();
struct KeyCertificatePair pair
Expand All @@ -80,7 +81,7 @@ catch (...)

static std::once_flag initialize_settings_once_flag;

extern "C" const char* settings_file()
const char* settings_file()
try
{
const auto file_name = mpc::persistent_settings_filename().toStdString();
Expand All @@ -97,7 +98,7 @@ catch (...)
return nullptr;
}

extern "C" enum SettingResult get_setting(const char* key, const char** output)
enum SettingResult get_setting(const char* key, const char** output)
{
const QString key_string{key};
free((void*)key);
Expand Down Expand Up @@ -132,7 +133,7 @@ extern "C" enum SettingResult get_setting(const char* key, const char** output)
}
}

extern "C" enum SettingResult set_setting(const char* key, const char* value, const char** output)
enum SettingResult set_setting(const char* key, const char* value, const char** output)
{
const QString key_string{key};
free((void*)key);
Expand Down Expand Up @@ -179,22 +180,22 @@ extern "C" enum SettingResult set_setting(const char* key, const char* value, co
}
}

extern "C" int uid()
int uid()
{
return mcp::getuid();
}

extern "C" int gid()
int gid()
{
return mcp::getgid();
}

extern "C" int default_id()
int default_id()
{
return mp::default_id;
}

extern "C" long long memory_in_bytes(const char* value)
long long memory_in_bytes(const char* value)
try
{
std::string string_value{value};
Expand All @@ -211,3 +212,4 @@ catch (...)
mpl::log(mpl::Level::warning, category, "failed converting memory to bytes");
return -1;
}
}

0 comments on commit a27d2d3

Please sign in to comment.