common/util/Util/GFlags.cpp (46 lines of code) (raw):

// Copyright (c) Facebook, Inc. and its affiliates. #include <gflags/gflags.h> #include "cpp/HsStruct.h" using namespace gflags; extern "C" int facebook_gflags_hs_set_flag_default( char const* const name, char const* const value) noexcept { auto const ret = SetCommandLineOptionWithMode( name, value, FlagSettingMode::SET_FLAGS_DEFAULT); return !ret.empty(); } extern "C" int facebook_gflags_hs_set_flag_value( char const* const name, char const* const value) noexcept { auto const ret = SetCommandLineOptionWithMode( name, value, FlagSettingMode::SET_FLAGS_VALUE); return !ret.empty(); } extern "C" int facebook_gflags_hs_set_flag_value_if_default( char const* const name, char const* const value) noexcept { auto const ret = SetCommandLineOptionWithMode( name, value, FlagSettingMode::SET_FLAG_IF_DEFAULT); return !ret.empty(); } extern "C" int facebook_gflags_hs_get_flag_value( char const* const name, HsString* const out) noexcept { std::string outs; auto const ret = GetCommandLineOption(name, &outs); *out = std::move(outs); return ret; } extern "C" FlagSaver* facebook_gflags_hs_flag_saver_create() noexcept { return new FlagSaver(); } extern "C" void facebook_gflags_hs_flag_saver_delete( FlagSaver* const obj) noexcept { delete obj; } extern "C" HsString* facebook_gflags_hs_hs_string_create() noexcept { return new HsString(); } extern "C" void facebook_gflags_hs_hs_string_delete( HsString* const obj) noexcept { delete obj; }