SYMBOL INDEX (589 symbols across 127 files) FILE: .conan/recipes/boringssl/conanfile.py class BoringSSLConan (line 6) | class BoringSSLConan(ConanFile): method config_options (line 14) | def config_options(self): method layout (line 18) | def layout(self): method source (line 21) | def source(self): method generate (line 25) | def generate(self): method build (line 47) | def build(self): method package (line 52) | def package(self): method package_info (line 56) | def package_info(self): FILE: conanfile.py class FPTN (line 12) | class FPTN(ConanFile): method requirements (line 118) | def requirements(self): method build_requirements (line 131) | def build_requirements(self): method generate (line 140) | def generate(self): method build (line 154) | def build(self): method package (line 159) | def package(self): method package_info (line 239) | def package_info(self): method config_options (line 270) | def config_options(self): method export (line 276) | def export(self): method _register_local_recipe (line 279) | def _register_local_recipe(self, recipe, name, version, override=False... FILE: cpplint.py class ErrorSuppressions (line 969) | class ErrorSuppressions: class LineRange (line 972) | class LineRange: method __init__ (line 975) | def __init__(self, begin, end): method __str__ (line 979) | def __str__(self): method __contains__ (line 982) | def __contains__(self, obj): method ContainsRange (line 985) | def ContainsRange(self, other): method __init__ (line 988) | def __init__(self): method _AddSuppression (line 992) | def _AddSuppression(self, category, line_range): method GetOpenBlockStart (line 997) | def GetOpenBlockStart(self): method AddGlobalSuppression (line 1001) | def AddGlobalSuppression(self, category): method AddLineSuppression (line 1005) | def AddLineSuppression(self, category, linenum): method StartBlockSuppression (line 1009) | def StartBlockSuppression(self, category, linenum): method EndBlockSuppression (line 1015) | def EndBlockSuppression(self, linenum): method IsSuppressed (line 1021) | def IsSuppressed(self, category, linenum): method HasOpenBlock (line 1026) | def HasOpenBlock(self): method Clear (line 1030) | def Clear(self): function ProcessHppHeadersOption (line 1041) | def ProcessHppHeadersOption(val): function ProcessIncludeOrderOption (line 1049) | def ProcessIncludeOrderOption(val): function IsHeaderExtension (line 1059) | def IsHeaderExtension(file_extension): function GetHeaderExtensions (line 1063) | def GetHeaderExtensions(): function GetAllExtensions (line 1073) | def GetAllExtensions(): function ProcessExtensionsOption (line 1077) | def ProcessExtensionsOption(val): function GetNonHeaderExtensions (line 1090) | def GetNonHeaderExtensions(): function ParseNolintSuppressions (line 1094) | def ParseNolintSuppressions(filename, raw_line, linenum, error): function ProcessGlobalSuppressions (line 1167) | def ProcessGlobalSuppressions(filename: str, lines: list[str]) -> None: function ResetNolintSuppressions (line 1186) | def ResetNolintSuppressions(): function IsErrorSuppressedByNolint (line 1191) | def IsErrorSuppressedByNolint(category, linenum): function _IsSourceExtension (line 1207) | def _IsSourceExtension(s): class _IncludeState (line 1212) | class _IncludeState: method __init__ (line 1251) | def __init__(self): method FindHeader (line 1257) | def FindHeader(self, header): method ResetSection (line 1272) | def ResetSection(self, directive): method SetLastHeader (line 1290) | def SetLastHeader(self, header_path): method CanonicalizeAlphabeticalOrder (line 1293) | def CanonicalizeAlphabeticalOrder(self, header_path): method IsInAlphabeticalOrder (line 1308) | def IsInAlphabeticalOrder(self, clean_lines, linenum, header_path): method CheckNextIncludeOrder (line 1329) | def CheckNextIncludeOrder(self, header_type): class _CppLintState (line 1389) | class _CppLintState: method __init__ (line 1392) | def __init__(self): method SetOutputFormat (line 1417) | def SetOutputFormat(self, output_format): method SetQuiet (line 1421) | def SetQuiet(self, quiet): method SetVerboseLevel (line 1427) | def SetVerboseLevel(self, level): method SetCountingStyle (line 1433) | def SetCountingStyle(self, counting_style): method SetFilters (line 1437) | def SetFilters(self, filters): method AddFilters (line 1455) | def AddFilters(self, filters): method BackupFilters (line 1466) | def BackupFilters(self): method RestoreFilters (line 1470) | def RestoreFilters(self): method ResetErrorCounts (line 1474) | def ResetErrorCounts(self): method IncrementErrorCount (line 1479) | def IncrementErrorCount(self, category): method PrintErrorCounts (line 1489) | def PrintErrorCounts(self): method PrintInfo (line 1496) | def PrintInfo(self, message): method PrintError (line 1502) | def PrintError(self, message): method AddJUnitFailure (line 1508) | def AddJUnitFailure(self, filename, linenum, message, category, confid... method FormatJUnitXML (line 1511) | def FormatJUnitXML(self): function _OutputFormat (line 1558) | def _OutputFormat(): function _SetOutputFormat (line 1563) | def _SetOutputFormat(output_format): function _Quiet (line 1568) | def _Quiet(): function _SetQuiet (line 1573) | def _SetQuiet(quiet): function _VerboseLevel (line 1578) | def _VerboseLevel(): function _SetVerboseLevel (line 1583) | def _SetVerboseLevel(level): function _SetCountingStyle (line 1588) | def _SetCountingStyle(level): function _Filters (line 1593) | def _Filters(): function _SetFilters (line 1598) | def _SetFilters(filters): function _AddFilters (line 1611) | def _AddFilters(filters): function _BackupFilters (line 1624) | def _BackupFilters(): function _RestoreFilters (line 1629) | def _RestoreFilters(): class _FunctionState (line 1634) | class _FunctionState: method __init__ (line 1640) | def __init__(self): method Begin (line 1645) | def Begin(self, function_name): method Count (line 1655) | def Count(self): method Check (line 1660) | def Check(self, error, filename, linenum): method End (line 1691) | def End(self): class _IncludeError (line 1696) | class _IncludeError(Exception): class FileInfo (line 1702) | class FileInfo: method __init__ (line 1709) | def __init__(self, filename): method FullName (line 1712) | def FullName(self): method RepositoryName (line 1716) | def RepositoryName(self): method Split (line 1781) | def Split(self): method BaseName (line 1795) | def BaseName(self): method Extension (line 1799) | def Extension(self): method NoExtension (line 1803) | def NoExtension(self): method IsSource (line 1807) | def IsSource(self): function _ShouldPrintError (line 1812) | def _ShouldPrintError(category, confidence, filename, linenum): function Error (line 1844) | def Error(filename, linenum, category, confidence, message): function IsCppString (line 1920) | def IsCppString(line): function CleanseRawStrings (line 1937) | def CleanseRawStrings(raw_lines): function FindNextMultiLineCommentStart (line 2012) | def FindNextMultiLineCommentStart(lines, lineix): function FindNextMultiLineCommentEnd (line 2023) | def FindNextMultiLineCommentEnd(lines, lineix): function RemoveMultiLineCommentsFromRange (line 2032) | def RemoveMultiLineCommentsFromRange(lines, begin, end): function RemoveMultiLineComments (line 2040) | def RemoveMultiLineComments(filename, lines, error): function CleanseComments (line 2061) | def CleanseComments(line): function ReplaceAlternateTokens (line 2077) | def ReplaceAlternateTokens(line): class CleansedLines (line 2098) | class CleansedLines: method __init__ (line 2109) | def __init__(self, lines): method NumLines (line 2123) | def NumLines(self): method _CollapseStrings (line 2128) | def _CollapseStrings(elided): function FindEndOfExpressionInLine (line 2195) | def FindEndOfExpressionInLine(line, startpos, stack): function CloseExpression (line 2273) | def CloseExpression(clean_lines, linenum, pos): function FindStartOfExpressionInLine (line 2317) | def FindStartOfExpressionInLine(line, endpos, stack): function ReverseCloseExpression (line 2397) | def ReverseCloseExpression(clean_lines, linenum, pos): function CheckForCopyright (line 2435) | def CheckForCopyright(filename, lines, error): function GetIndentLevel (line 2454) | def GetIndentLevel(line): function PathSplitToList (line 2468) | def PathSplitToList(path): function GetHeaderGuardCPPVariable (line 2494) | def GetHeaderGuardCPPVariable(filename): function CheckForHeaderGuard (line 2575) | def CheckForHeaderGuard(filename, clean_lines, error, cppvar): function CheckHeaderFileIncluded (line 2698) | def CheckHeaderFileIncluded(filename, include_state, error): function CheckForBadCharacters (line 2732) | def CheckForBadCharacters(filename, lines, error): function CheckForNewlineAtEOF (line 2762) | def CheckForNewlineAtEOF(filename, lines, error): function CheckForMultilineCommentsAndStrings (line 2785) | def CheckForMultilineCommentsAndStrings(filename, clean_lines, linenum, ... function CheckPosixThreading (line 2862) | def CheckPosixThreading(filename, clean_lines, linenum, error): function CheckVlogArguments (line 2895) | def CheckVlogArguments(filename, clean_lines, linenum, error): function CheckInvalidIncrement (line 2924) | def CheckInvalidIncrement(filename, clean_lines, linenum, error): function IsMacroDefinition (line 2951) | def IsMacroDefinition(clean_lines, linenum): function IsForwardClassDeclaration (line 2958) | def IsForwardClassDeclaration(clean_lines, linenum): class _BlockInfo (line 2962) | class _BlockInfo: method __init__ (line 2965) | def __init__(self, linenum, seen_open_brace): method CheckBegin (line 2972) | def CheckBegin(self, filename, clean_lines, linenum, error): method CheckEnd (line 2987) | def CheckEnd(self, filename, clean_lines, linenum, error): method IsBlockInfo (line 3000) | def IsBlockInfo(self): class _ExternCInfo (line 3012) | class _ExternCInfo(_BlockInfo): method __init__ (line 3015) | def __init__(self, linenum): class _ClassInfo (line 3019) | class _ClassInfo(_BlockInfo): method __init__ (line 3022) | def __init__(self, name, class_or_struct, clean_lines, linenum): method CheckBegin (line 3052) | def CheckBegin(self, filename, clean_lines, linenum, error): method CheckEnd (line 3057) | def CheckEnd(self, filename, clean_lines, linenum, error): class _ConstructorInfo (line 3100) | class _ConstructorInfo(_BlockInfo): method __init__ (line 3104) | def __init__(self, linenum: int): class _NamespaceInfo (line 3108) | class _NamespaceInfo(_BlockInfo): method __init__ (line 3111) | def __init__(self, name, linenum): method CheckEnd (line 3116) | def CheckEnd(self, filename, clean_lines, linenum, error): class _WrappedInfo (line 3185) | class _WrappedInfo(_BlockInfo): class _MemInitListInfo (line 3195) | class _MemInitListInfo(_WrappedInfo): class _PreprocessorInfo (line 3201) | class _PreprocessorInfo: method __init__ (line 3204) | def __init__(self, stack_before_if): class NestingState (line 3215) | class NestingState: method __init__ (line 3218) | def __init__(self): method SeenOpenBrace (line 3249) | def SeenOpenBrace(self): method InNamespaceBody (line 3258) | def InNamespaceBody(self): method InExternC (line 3266) | def InExternC(self): method InClassDeclaration (line 3274) | def InClassDeclaration(self): method InAsmBlock (line 3282) | def InAsmBlock(self): method InTemplateArgumentList (line 3290) | def InTemplateArgumentList(self, clean_lines, linenum, pos): method UpdatePreprocessor (line 3344) | def UpdatePreprocessor(self, line): method _Pop (line 3400) | def _Pop(self): method _CountOpenParentheses (line 3404) | def _CountOpenParentheses(self, line: str): method _UpdateNamesapce (line 3429) | def _UpdateNamesapce(self, line: str, linenum: int) -> str | None: method _UpdateConstructor (line 3456) | def _UpdateConstructor(self, line: str, linenum: int, class_name: str ... method Update (line 3473) | def Update(self, filename: str, clean_lines: CleansedLines, linenum: i... method InnermostClass (line 3639) | def InnermostClass(self): function CheckForNonStandardConstructs (line 3652) | def CheckForNonStandardConstructs(filename, clean_lines, linenum, nestin... function CheckSpacingForFunctionCall (line 3878) | def CheckSpacingForFunctionCall(filename, clean_lines, linenum, error): function IsBlankLine (line 3973) | def IsBlankLine(line): function CheckForNamespaceIndentation (line 3988) | def CheckForNamespaceIndentation(filename, nesting_state, clean_lines, l... function CheckForFunctionLengths (line 4000) | def CheckForFunctionLengths(filename, clean_lines, linenum, function_sta... function CheckComment (line 4073) | def CheckComment(line, filename, linenum, next_line_start, error): function CheckSpacing (line 4145) | def CheckSpacing(filename, clean_lines, linenum, nesting_state, error): function CheckOperatorSpacing (line 4283) | def CheckOperatorSpacing(filename, clean_lines, linenum, error): function CheckParenthesisSpacing (line 4402) | def CheckParenthesisSpacing(filename, clean_lines, linenum, error): function CheckCommaSpacing (line 4454) | def CheckCommaSpacing(filename, clean_lines, linenum, error): function _IsType (line 4490) | def _IsType(clean_lines, nesting_state, expr): function CheckBracesSpacing (line 4551) | def CheckBracesSpacing(filename, clean_lines, linenum, nesting_state, er... function IsDecltype (line 4649) | def IsDecltype(clean_lines, linenum, column): function CheckSectionSpacing (line 4665) | def CheckSectionSpacing(filename, clean_lines, class_info, linenum, error): function GetPreviousNonBlankLine (line 4729) | def GetPreviousNonBlankLine(clean_lines, linenum): function CheckBraces (line 4752) | def CheckBraces(filename, clean_lines, linenum, error): function CheckTrailingSemicolon (line 4932) | def CheckTrailingSemicolon(filename, clean_lines, linenum, error): function CheckEmptyBlockBody (line 5090) | def CheckEmptyBlockBody(filename, clean_lines, linenum, error): function FindCheckMacro (line 5209) | def FindCheckMacro(line): function CheckCheck (line 5232) | def CheckCheck(filename, clean_lines, linenum, error): function CheckAltTokens (line 5356) | def CheckAltTokens(filename, clean_lines, linenum, error): function GetLineWidth (line 5392) | def GetLineWidth(line): function CheckStyle (line 5423) | def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_s... function _DropCommonSuffixes (line 5577) | def _DropCommonSuffixes(filename): function _ClassifyInclude (line 5615) | def _ClassifyInclude(fileinfo, include, used_angle_brackets, include_ord... function CheckIncludeLine (line 5690) | def CheckIncludeLine(filename, clean_lines, linenum, include_state, error): function _GetTextInside (line 5809) | def _GetTextInside(text, start_pattern): function CheckLanguage (line 5901) | def CheckLanguage( function CheckGlobalStatic (line 6116) | def CheckGlobalStatic(filename, clean_lines, linenum, error): function CheckPrintf (line 6195) | def CheckPrintf(filename, clean_lines, linenum, error): function IsDerivedFunction (line 6234) | def IsDerivedFunction(clean_lines, linenum): function IsOutOfLineMethodDefinition (line 6254) | def IsOutOfLineMethodDefinition(clean_lines, linenum): function IsInitializerList (line 6270) | def IsInitializerList(clean_lines, linenum): function CheckForNonConstReference (line 6312) | def CheckForNonConstReference(filename, clean_lines, linenum, nesting_st... function CheckCasts (line 6457) | def CheckCasts(filename, clean_lines, linenum, error): function CheckCStyleCast (line 6610) | def CheckCStyleCast(filename, clean_lines, linenum, cast_type, pattern, ... function ExpectingFunctionArgs (line 6666) | def ExpectingFunctionArgs(clean_lines, linenum): function FilesBelongToSameModule (line 6908) | def FilesBelongToSameModule(filename_cc, filename_h): function CheckForIncludeWhatYouUse (line 6964) | def CheckForIncludeWhatYouUse(filename, clean_lines, include_state, erro... function CheckMakePairUsesDeduction (line 7040) | def CheckMakePairUsesDeduction(filename, clean_lines, linenum, error): function CheckRedundantVirtual (line 7065) | def CheckRedundantVirtual(filename, clean_lines, linenum, error): function CheckRedundantOverrideOrFinal (line 7140) | def CheckRedundantOverrideOrFinal(filename, clean_lines, linenum, error): function IsBlockInNameSpace (line 7174) | def IsBlockInNameSpace(nesting_state: NestingState, is_forward_declarati... function ShouldCheckNamespaceIndentation (line 7206) | def ShouldCheckNamespaceIndentation( function CheckItemIndentationInNamespace (line 7261) | def CheckItemIndentationInNamespace(filename, raw_lines_no_comments, lin... function ProcessLine (line 7269) | def ProcessLine( function FlagCxxHeaders (line 7323) | def FlagCxxHeaders(filename, clean_lines, linenum, error): function ProcessFileData (line 7355) | def ProcessFileData(filename, file_extension, lines, error, extra_check_... function ProcessConfigOverrides (line 7427) | def ProcessConfigOverrides(filename): function ProcessFile (line 7518) | def ProcessFile(filename, vlevel, extra_check_functions=None): function PrintUsage (line 7613) | def PrintUsage(message): function PrintVersion (line 7635) | def PrintVersion(): function PrintCategories (line 7642) | def PrintCategories(): function ParseArguments (line 7651) | def ParseArguments(args): function _ParseFilterSelector (line 7769) | def _ParseFilterSelector(parameter): function _ExpandDirectories (line 7798) | def _ExpandDirectories(filenames): function _FilterExcludedFiles (line 7827) | def _FilterExcludedFiles(fnames): function _IsParentOrSame (line 7840) | def _IsParentOrSame(parent, child): function main (line 7859) | def main(): FILE: deploy/docker/scripts/token-generator.py function get_md5_fingerprint (line 11) | def get_md5_fingerprint(cert_path="/etc/fptn/server.crt"): function generate_token (line 26) | def generate_token(username, password, server_ip, service_name, md5_fing... function main (line 41) | def main(): FILE: deploy/macos/create-pkg.py function run_command (line 22) | def run_command(command, cwd=None): function create_app (line 36) | def create_app( function create_pkg (line 136) | def create_pkg(app_path: pathlib.Path, version: str) -> bool: FILE: deploy/windows/conan-replace-version.py function replace_version (line 5) | def replace_version(file_path, new_version): FILE: deploy/windows/create-installer.py function is_windows_x86_64 (line 38) | def is_windows_x86_64() -> bool: function is_arm_64 (line 45) | def is_arm_64() -> bool: function download_file (line 50) | def download_file(url: str, destination_path: pathlib.Path) -> bool: function replace_values_in_innosetupfile (line 63) | def replace_values_in_innosetupfile(file_path: pathlib.Path, replacement... function run_command (line 75) | def run_command(command: str) -> str: function get_conan_path (line 89) | def get_conan_path() -> pathlib.Path: function copy_qt_libraries (line 98) | def copy_qt_libraries(frameworks_path: pathlib.Path): function compile_inno_setup_script (line 124) | def compile_inno_setup_script(script_path: pathlib.Path, output_dir: pat... FILE: src/common/client_id.h function namespace (line 11) | namespace fptn { FILE: src/common/data/channel.h function namespace (line 23) | namespace fptn::common::data { FILE: src/common/data/channel_async.h function namespace (line 29) | namespace fptn::common::data { FILE: src/common/jwt_token/token_manager.h function namespace (line 22) | namespace fptn::common::jwt_token { function std (line 76) | const std::string& ServerCrtPath() const noexcept { return server_crt_pa... FILE: src/common/logger/logger.h function namespace (line 33) | namespace fptn::logger { FILE: src/common/network/ip_address.h function namespace (line 19) | namespace fptn::common::network { FILE: src/common/network/ip_packet.h function namespace (line 77) | namespace fptn::common::network { function ComputeCalculateFields (line 168) | void ComputeCalculateFields() noexcept { function SetClientId (line 189) | void SetClientId(fptn::ClientID client_id) noexcept { function SetDstIPv4Address (line 193) | void SetDstIPv4Address(const pcpp::IPv4Address& dst) noexcept { function SetSrcIPv4Address (line 200) | void SetSrcIPv4Address(const pcpp::IPv4Address& src) noexcept { function SetDstIPv6Address (line 207) | void SetDstIPv6Address(const pcpp::IPv6Address& dst) noexcept { function SetSrcIPv6Address (line 213) | void SetSrcIPv6Address(const pcpp::IPv6Address& src) noexcept { function IsICMPv4 (line 219) | bool IsICMPv4() const { function IsDns (line 229) | bool IsDns() const { function pcpp (line 351) | const pcpp::RawPacket* GetRawPacket() const noexcept { function virtual (line 378) | virtual pcpp::IPv4Layer* IPv4Layer() noexcept { return ipv4_layer_; } function virtual (line 379) | virtual pcpp::IPv6Layer* IPv6Layer() noexcept { return ipv6_layer_; } function class (line 403) | class LightIPv4Packet { function LightIPv4Packet (line 421) | const LightIPv4Packet* GetRawPacket() const { return this; } FILE: src/common/network/ipv4_generator.h function namespace (line 29) | namespace fptn::common::network { FILE: src/common/network/ipv6_generator.h function namespace (line 32) | namespace fptn::common::network { FILE: src/common/network/ipv6_utils.h function namespace (line 15) | namespace fptn::common::network::ipv6 { FILE: src/common/network/net_interface.h function namespace (line 25) | namespace fptn::common::network { function StopImpl (line 222) | bool StopImpl() noexcept { function SendImpl (line 242) | bool SendImpl(IPPacketPtr packet) noexcept { function namespace (line 319) | namespace fptn::common::network { FILE: src/common/network/resolv.h function namespace (line 19) | namespace fptn::common::network { function ResolveResult (line 35) | inline ResolveResult ResolveWithTimeout(boost::asio::io_context& ioc, FILE: src/common/network/tun/darwin_tun_device.h function namespace (line 26) | namespace fptn::common::network { FILE: src/common/network/tun/linux_tun_device.h function namespace (line 14) | namespace fptn::common::network { FILE: src/common/network/tun/win_tun_device.h function namespace (line 28) | namespace fptn::common::network { FILE: src/common/network/utils.h function namespace (line 24) | namespace fptn::common::network { FILE: src/common/system/command.h function namespace (line 26) | namespace fptn::common::system::command { function run (line 52) | inline bool run( FILE: src/common/user/common_user_manager.h function namespace (line 23) | namespace fptn::common::user { function Authenticate (line 81) | bool Authenticate(const std::string& username, const std::string& passwo... function GetUserBandwidthBit (line 94) | int GetUserBandwidthBit(const std::string& username) const { function GetUserBandwidth (line 103) | int GetUserBandwidth(const std::string& username) const { FILE: src/common/utils/base64.h function namespace (line 12) | namespace fptn::common::utils::base64 { FILE: src/common/utils/utils.h function namespace (line 23) | namespace fptn::common::utils { function std (line 64) | inline std::string Trim(const std::string& str) { function std (line 74) | inline std::vector SplitCommaSeparated(const std::string& i... function std (line 88) | inline std::string ToLowerCase(const std::string& str) { FILE: src/fptn-client/config/config_file.cpp type fptn::config (line 22) | namespace fptn::config { function ServerInfo (line 105) | ServerInfo ConfigFile::FindFastestServer(int timeout_sec) const { FILE: src/fptn-client/config/config_file.h function namespace (line 18) | namespace fptn::config { FILE: src/fptn-client/fptn-client-cli.cpp function main (line 35) | int main(int argc, char* argv[]) { FILE: src/fptn-client/fptn-client-gui.cpp function SignalHandler (line 27) | void SignalHandler(int) { QApplication::quit(); } function BOOL (line 29) | BOOL WINAPI SignalHandler(DWORD ctrlType) { function main (line 42) | int main(int argc, char* argv[]) { FILE: src/fptn-client/gui/autostart/autostart.h function namespace (line 23) | namespace fptn::gui::autostart { FILE: src/fptn-client/gui/autoupdate/autoupdate.h function namespace (line 24) | namespace fptn::gui::autoupdate { FILE: src/fptn-client/gui/server_menu_item_widget/server_menu_item_widget.cpp function QPixmap (line 15) | const QPixmap& GetPingIcon(const int ping_ms) { type fptn::gui (line 36) | namespace fptn::gui { function QString (line 120) | QString ServerMenuItemWidget::ServerName() const { return name_; } FILE: src/fptn-client/gui/server_menu_item_widget/server_menu_item_widget.h function QLabel (line 33) | QLabel* name_label_{nullptr}; FILE: src/fptn-client/gui/settingsmodel/settingsmodel.cpp function ParseServers (line 43) | QVector ParseServers(const QJsonArray& servers_array) { function SplitStringToVector (line 61) | QVector SplitStringToVector(const QString& str) { function QString (line 73) | QString JoinVectorToString(const QVector& vec) { function QString (line 135) | QString SettingsModel::GetSettingsFilePath() const { function QString (line 141) | QString SettingsModel::GetSettingsFolderPath() const { function QString (line 302) | QString SettingsModel::LanguageName() const { function QString (line 311) | const QString& SettingsModel::LanguageCode() const { function QString (line 315) | const QString& SettingsModel::DefaultLanguageCode() const { function ServiceConfig (line 424) | ServiceConfig SettingsModel::ParseToken(const QString& token) { function QString (line 453) | QString SettingsModel::UsingNetworkInterface() const { function QString (line 461) | QString SettingsModel::GatewayIp() const { function QString (line 470) | QString SettingsModel::SNI() const { function QString (line 534) | QString SettingsModel::BypassMethod() const { function QString (line 587) | QString SettingsModel::SplitTunnelMode() const { FILE: src/fptn-client/gui/settingsmodel/settingsmodel.h function namespace (line 28) | namespace fptn::gui { type ServiceConfig (line 97) | struct ServiceConfig { function class (line 106) | class SettingsModel : public QObject { FILE: src/fptn-client/gui/settingswidget/settings.cpp function QString (line 34) | QString CleanDomain(const QString& domain) { function QString (line 54) | QString VectorToText(const QVector& items) { return items.join(... function TextToVector (line 56) | QVector TextToVector(const QString& text) { FILE: src/fptn-client/gui/settingswidget/settings.h function namespace (line 25) | namespace fptn::gui { FILE: src/fptn-client/gui/sni_autoscan_dialog/sni_autoscan_dialog.cpp type fptn::gui (line 24) | namespace fptn::gui { FILE: src/fptn-client/gui/sni_manager/sni_manager.cpp type fptn::gui (line 16) | namespace fptn::gui { FILE: src/fptn-client/gui/sni_manager/sni_manager.h function namespace (line 13) | namespace fptn::gui { FILE: src/fptn-client/gui/speedwidget/speedwidget.cpp function QString (line 13) | QString FormatSpeed(std::size_t bytes_per_sec) { function QString (line 31) | QString FormatSpeedLabel(const QString& text, std::size_t speed) { FILE: src/fptn-client/gui/speedwidget/speedwidget.h function namespace (line 15) | namespace fptn::gui { FILE: src/fptn-client/gui/style/style.cpp type fptn::gui (line 9) | namespace fptn::gui { function QString (line 11) | QString GetMacStyleSheet() { function QString (line 41) | QString GetUbuntuStyleSheet() { function QString (line 158) | QString GetWindowsStyleSheet() { FILE: src/fptn-client/gui/style/style.h function namespace (line 11) | namespace fptn::gui { FILE: src/fptn-client/gui/tokendialog/tokendialog.cpp function QString (line 61) | const QString& TokenDialog::Token() const { return token_; } FILE: src/fptn-client/gui/tokendialog/tokendialog.h function namespace (line 17) | namespace fptn::gui { FILE: src/fptn-client/gui/translations/translations.cpp function QTranslator (line 17) | QTranslator& getTranslator() { FILE: src/fptn-client/gui/translations/translations.h function namespace (line 11) | namespace fptn::gui { FILE: src/fptn-client/gui/tray/tray.cpp function QPixmap (line 46) | QPixmap LoadIcon(const QString& icon_path, int size = 12) { function ShowError (line 55) | void ShowError(const QString& title, const QString& msg) { function ShowWarning (line 69) | void ShowWarning(const QString& title, const QString& msg) { function QString (line 649) | QString TrayApp::GetSystemLanguageCode() const { FILE: src/fptn-client/gui/tray/tray.h type class (line 43) | enum class function QTimer (line 124) | QTimer* ping_update_timer_{nullptr}; FILE: src/fptn-client/plugins/base_plugin.h function namespace (line 15) | namespace fptn::plugin { FILE: src/fptn-client/plugins/blacklist/domain_blacklist.cpp type fptn::plugin (line 19) | namespace fptn::plugin { FILE: src/fptn-client/plugins/blacklist/domain_blacklist.h function namespace (line 22) | namespace fptn::plugin { FILE: src/fptn-client/plugins/split/tunneling.cpp type fptn::plugin (line 20) | namespace fptn::plugin { FILE: src/fptn-client/plugins/split/tunneling.h function namespace (line 21) | namespace fptn::plugin { FILE: src/fptn-client/routing/route_manager.cpp function GetWindowsInterfaceNumber (line 23) | std::string GetWindowsInterfaceNumber(const std::string& interface_name) { function ParseIPv4CIDR (line 79) | std::pair ParseIPv4CIDR(const std::string& net... function ParseIPv6CIDR (line 106) | std::pair ParseIPv6CIDR(const std::string& network) { function GetLinuxDnsServers (line 128) | std::vector GetLinuxDnsServers(const std::string& interface) { function AddIPv4RouteToSystem (line 151) | bool AddIPv4RouteToSystem(const std::string& destination, function AddIPv6RouteToSystem (line 190) | bool AddIPv6RouteToSystem(const std::string& destination, function RemoveIPv4RouteFromSystem (line 227) | bool RemoveIPv4RouteFromSystem(const std::string& destination, function RemoveIPv6RouteFromSystem (line 264) | bool RemoveIPv6RouteFromSystem(const std::string& destination, FILE: src/fptn-client/routing/route_manager.h function namespace (line 18) | namespace fptn::routing { function UpdateTunInterfaceName (line 65) | void UpdateTunInterfaceName(const std::string& name) { FILE: src/fptn-client/utils/brotli/brotli.h function namespace (line 14) | namespace fptn::utils::brotli { FILE: src/fptn-client/utils/macos/admin.h function namespace (line 23) | namespace fptn::utils::macos { FILE: src/fptn-client/utils/signal/main_loop.h function namespace (line 14) | namespace fptn::utils { FILE: src/fptn-client/utils/speed_estimator/server_info.h function namespace (line 12) | namespace fptn::utils::speed_estimator { FILE: src/fptn-client/utils/speed_estimator/speed_estimator.cpp type fptn::utils::speed_estimator (line 29) | namespace fptn::utils::speed_estimator { function GetDownloadTimeMs (line 31) | std::uint64_t GetDownloadTimeMs(const ServerInfo& server, function ServerInfo (line 56) | ServerInfo FindFastestServer(const std::string& sni, FILE: src/fptn-client/utils/speed_estimator/speed_estimator.h function namespace (line 17) | namespace fptn::utils::speed_estimator { FILE: src/fptn-client/utils/utils.h function namespace (line 15) | namespace fptn::utils { FILE: src/fptn-client/utils/windows/vpn_conflict.h function namespace (line 14) | namespace fptn::utils::windows { FILE: src/fptn-client/vpn/http/client.h function namespace (line 22) | namespace fptn::vpn::http { FILE: src/fptn-client/vpn/vpn_client.cpp type fptn::vpn (line 16) | namespace fptn::vpn { FILE: src/fptn-client/vpn/vpn_client.h function namespace (line 24) | namespace fptn::vpn { FILE: src/fptn-passwd/fptn-passwd.cpp function GetPassword (line 17) | std::string GetPassword(const std::string& prompt) { function main (line 34) | int main(int argc, char* argv[]) { FILE: src/fptn-protocol-lib/https/api_client/api_client.cpp function DecompressGzip (line 61) | std::string DecompressGzip(const std::string& compressed) { function GetHttpBody (line 92) | std::string GetHttpBody( function SetSocketTimeouts (line 101) | void SetSocketTimeouts( function Headers (line 124) | Headers RealBrowserHeaders() { function TResult (line 187) | TResult ExecuteWithTimeout(const std::function& operation, type fptn::protocol::https (line 245) | namespace fptn::protocol::https { function Response (line 278) | Response ApiClient::Get(const std::string& handle, int timeout) const { function Response (line 289) | Response ApiClient::Post(const std::string& handle, function ApiClient (line 314) | ApiClient ApiClient::Clone() const { function Response (line 373) | Response ApiClient::GetImpl(const std::string& handle, int timeout) co... function Response (line 539) | Response ApiClient::PostImpl(const std::string& handle, FILE: src/fptn-protocol-lib/https/api_client/api_client.h function namespace (line 19) | namespace fptn::protocol::https { FILE: src/fptn-protocol-lib/https/censorship_strategy.h function namespace (line 9) | namespace fptn::protocol::https { FILE: src/fptn-protocol-lib/https/obfuscator/methods/detector.h function namespace (line 18) | namespace fptn::protocol::https::obfuscator { FILE: src/fptn-protocol-lib/https/obfuscator/methods/tls/tls_obfuscator.cpp type TLSAppDataRecordHeader (line 37) | struct TLSAppDataRecordHeader { function HostToNetwork16 (line 57) | std::uint16_t HostToNetwork16(const std::uint16_t value) { function NetworkToHost16 (line 61) | std::uint16_t NetworkToHost16(const std::uint16_t value) { function GetRandomData (line 65) | std::uint64_t GetRandomData() { function GetRandomByte (line 71) | std::uint8_t GetRandomByte( function GenerateRandomPadding (line 78) | std::vector GenerateRandomPadding(const std::size_t length) { function ApplyXorTransform (line 86) | void ApplyXorTransform( type fptn::protocol::https::obfuscator (line 95) | namespace fptn::protocol::https::obfuscator { function PreparedData (line 118) | PreparedData TlsObfuscator::Deobfuscate() { function PreparedData (line 215) | PreparedData TlsObfuscator::Obfuscate( FILE: src/fptn-protocol-lib/https/obfuscator/methods/tls/tls_obfuscator.h function namespace (line 16) | namespace fptn::protocol::https::obfuscator { FILE: src/fptn-protocol-lib/https/obfuscator/methods/tls2/tls_obfuscator2.cpp type TLSAppDataRecordHeader (line 34) | struct TLSAppDataRecordHeader { function HostToNetwork16 (line 52) | std::uint16_t HostToNetwork16(const std::uint16_t value) { function NetworkToHost16 (line 56) | std::uint16_t NetworkToHost16(const std::uint16_t value) { function HostToNetwork32 (line 60) | std::uint32_t HostToNetwork32(const std::uint32_t value) { function NetworkToHost32 (line 64) | std::uint32_t NetworkToHost32(const std::uint32_t value) { function IsValidTimestamp (line 68) | bool IsValidTimestamp(const std::uint32_t timestamp) { function GetRandomData (line 76) | std::uint64_t GetRandomData() { function GetRandomByte (line 82) | std::uint8_t GetRandomByte( function GetRandomPaddingLength (line 89) | std::uint16_t GetRandomPaddingLength() { function GenerateRandomPadding (line 95) | std::vector GenerateRandomPadding(const std::size_t length) { function ApplyXorTransform (line 103) | void ApplyXorTransform( type fptn::protocol::https::obfuscator (line 112) | namespace fptn::protocol::https::obfuscator { function PreparedData (line 132) | PreparedData TlsObfuscator2::Deobfuscate() { function PreparedData (line 214) | PreparedData TlsObfuscator2::Obfuscate( FILE: src/fptn-protocol-lib/https/obfuscator/methods/tls2/tls_obfuscator2.h function namespace (line 16) | namespace fptn::protocol::https::obfuscator { FILE: src/fptn-protocol-lib/https/obfuscator/tcp_stream/tcp_stream.h function namespace (line 20) | namespace fptn::protocol::https::obfuscator { function namespace (line 290) | namespace boost::beast { FILE: src/fptn-protocol-lib/https/utils/change_cipher_spec.h function namespace (line 11) | namespace fptn::protocol::https::utils { FILE: src/fptn-protocol-lib/https/utils/tls/tls.cpp type fptn::protocol::https::utils (line 30) | namespace fptn::protocol::https::utils { function GetSHA1Hash (line 37) | std::string GetSHA1Hash(std::uint32_t number) { function GenerateFptnKey (line 69) | std::string GenerateFptnKey(std::uint32_t timestamp) { function SetDecoyHandshakeSessionID (line 80) | bool SetDecoyHandshakeSessionID(SSL* ssl) { function IsDecoyHandshakeSessionID (line 96) | bool IsDecoyHandshakeSessionID( function IsDecoyHandshakeSessionID2 (line 119) | bool IsDecoyHandshakeSessionID2( function SetHandshakeSessionID (line 142) | bool SetHandshakeSessionID(SSL* ssl) { function IsFptnClientSessionID (line 158) | bool IsFptnClientSessionID( function SetHandshakeSni (line 180) | bool SetHandshakeSni(SSL* ssl, const std::string& sni) { function SSL_CTX (line 193) | SSL_CTX* CreateNewSslCtx() { function ChromeCiphers (line 267) | std::string ChromeCiphers() { function GetCertificateMD5Fingerprint (line 285) | std::string GetCertificateMD5Fingerprint(const X509* cert) { function GenerateDecoyTlsHandshake (line 301) | std::vector GenerateDecoyTlsHandshake(const std::string&... function GenerateDecoyTlsSessionId (line 352) | std::optional> GenerateDecoyTlsSessionId() { function GenerateDecoyTlsSessionId2 (line 368) | std::optional> GenerateDecoyTlsSessionId2... function AttachCertificateVerificationCallback (line 390) | void AttachCertificateVerificationCallback( function AttachCertificateVerificationCallbackDelete (line 429) | void AttachCertificateVerificationCallbackDelete(SSL* ssl) { FILE: src/fptn-protocol-lib/https/utils/tls/tls.h function namespace (line 18) | namespace fptn::protocol::https::utils { FILE: src/fptn-protocol-lib/https/websocket_client/websocket_client.cpp type fptn::protocol::https (line 23) | namespace fptn::protocol::https { FILE: src/fptn-protocol-lib/protobuf/protocol.cpp type fptn::protocol::protobuf (line 23) | namespace fptn::protocol::protobuf { function ProtoPayloadOpt (line 24) | ProtoPayloadOpt GetProtoPayload(const boost::beast::flat_buffer& buffe... function ProtoPayloadOpt (line 69) | ProtoPayloadOpt CreateProtoPayload(fptn::common::network::IPPacketPtr ... FILE: src/fptn-protocol-lib/protobuf/protocol.h function namespace (line 17) | namespace fptn::protocol::protobuf { FILE: src/fptn-protocol-lib/time/time_provider.cpp type fptn::time (line 15) | namespace fptn::time { FILE: src/fptn-protocol-lib/time/time_provider.h function namespace (line 18) | namespace fptn::time { FILE: src/fptn-server/client/session.cpp function IPv4Address (line 37) | const IPv4Address& Session::ClientIPv4() const noexcept { return client_... function IPv4Address (line 39) | const IPv4Address& Session::FakeClientIPv4() const noexcept { function IPv6Address (line 43) | const IPv6Address& Session::ClientIPv6() const noexcept { return client_... function IPv6Address (line 45) | const IPv6Address& Session::FakeClientIPv6() const noexcept { FILE: src/fptn-server/client/session.h function namespace (line 21) | namespace fptn::client { FILE: src/fptn-server/config/command_line_config.cpp function ParseBoolean (line 19) | bool ParseBoolean(std::string value) noexcept { type fptn::config (line 32) | namespace fptn::config { function IPv4Address (line 172) | IPv4Address CommandLineConfig::TunInterfaceIPv4() const { function IPv4Address (line 176) | IPv4Address CommandLineConfig::TunInterfaceNetworkIPv4Address() const { function IPv6Address (line 184) | IPv6Address CommandLineConfig::TunInterfaceIPv6() const { function IPv6Address (line 188) | IPv6Address CommandLineConfig::TunInterfaceNetworkIPv6Address() const { FILE: src/fptn-server/config/command_line_config.h function namespace (line 16) | namespace fptn::config { FILE: src/fptn-server/filter/filters/antiscan/antiscan.cpp function IPPacketPtr (line 42) | IPPacketPtr AntiScan::apply(IPPacketPtr packet) const { FILE: src/fptn-server/filter/filters/antiscan/antiscan.h function namespace (line 15) | namespace fptn::filter { FILE: src/fptn-server/filter/filters/base_filter.h function namespace (line 13) | namespace fptn::filter { FILE: src/fptn-server/filter/filters/bittorrent/bittorrent.cpp function DetectBitTorrent (line 26) | bool DetectBitTorrent(const std::uint8_t* payload, std::size_t payload_s... function IPPacketPtr (line 56) | IPPacketPtr BitTorrent::apply(IPPacketPtr packet) const { FILE: src/fptn-server/filter/filters/bittorrent/bittorrent.h function namespace (line 11) | namespace fptn::filter { FILE: src/fptn-server/filter/manager.cpp function IPPacketPtr (line 25) | IPPacketPtr Manager::Apply(IPPacketPtr packet) const noexcept { FILE: src/fptn-server/filter/manager.h function namespace (line 16) | namespace fptn::filter { FILE: src/fptn-server/fptn-server.cpp function WaitForSignal (line 33) | void WaitForSignal() { function main (line 41) | int main(int argc, char* argv[]) { FILE: src/fptn-server/nat/table.h function namespace (line 26) | namespace fptn::nat { FILE: src/fptn-server/network/virtual_interface.h function namespace (line 20) | namespace fptn::network { FILE: src/fptn-server/routing/iptables.cpp function RunCommand (line 29) | bool RunCommand(const std::string& command) noexcept { function SetMaxFileDescriptors (line 47) | bool SetMaxFileDescriptors() { FILE: src/fptn-server/routing/iptables.h function namespace (line 13) | namespace fptn::routing { FILE: src/fptn-server/statistic/metrics.h function namespace (line 20) | namespace fptn::statistic { FILE: src/fptn-server/traffic_shaper/leaky_bucket.h function namespace (line 15) | namespace fptn::traffic_shaper { FILE: src/fptn-server/user/user_manager.h function namespace (line 16) | namespace fptn::user { FILE: src/fptn-server/vpn/manager.h function namespace (line 19) | namespace fptn::vpn { FILE: src/fptn-server/web/api/handle.h function namespace (line 22) | namespace fptn::web { FILE: src/fptn-server/web/handshake/handshake_cache_manager.cpp type fptn::web (line 25) | namespace fptn::web { function HandshakeResponse (line 34) | HandshakeResponse HandshakeCacheManager::CheckCache( FILE: src/fptn-server/web/handshake/handshake_cache_manager.h function namespace (line 19) | namespace fptn::web { FILE: src/fptn-server/web/listener/listener.h function namespace (line 25) | namespace fptn::web { FILE: src/fptn-server/web/server.h function namespace (line 30) | namespace fptn::web { FILE: src/fptn-server/web/session/session.cpp function GetServerIpAddresses (line 43) | std::vector GetServerIpAddresses( function SetSocketTimeouts (line 65) | void SetSocketTimeouts(boost::asio::ip::tcp::socket& socket, int timeout... type fptn::web (line 78) | namespace fptn::web { FILE: src/fptn-server/web/session/session.h function namespace (line 32) | namespace fptn::web { FILE: sysadmin-tools/grafana/proxy-server/conanfile.py class FptnProxy (line 13) | class FptnProxy(ConanFile): method requirements (line 36) | def requirements(self): method layout (line 39) | def layout(self): method generate (line 42) | def generate(self): method build (line 52) | def build(self): method config_options (line 57) | def config_options(self): method _clone_fptn (line 60) | def _clone_fptn(self): method _register_local_recipe (line 69) | def _register_local_recipe(self, recipe, name, version, override=False... FILE: sysadmin-tools/grafana/proxy-server/src/proxy-server.cpp function run_server (line 17) | void run_server(const int port) { function main (line 56) | int main(int argc, char* argv[]) { FILE: sysadmin-tools/telegram-bot/src/bot.py function init_logger (line 55) | def init_logger(): class UserManager (line 68) | class UserManager: method __init__ (line 69) | def __init__(self, users_file: Path): method _generate_password (line 73) | def _generate_password(self, length=8) -> str: method _hash_password (line 76) | def _hash_password(self, password: str) -> str: method load_users (line 81) | def load_users(self) -> dict: method save_users (line 98) | def save_users(self, users: dict): method is_premium_user (line 106) | def is_premium_user(self, user_id: str) -> bool: method register_user (line 114) | def register_user(self, user_id: str) -> (str, str): method is_registered (line 133) | def is_registered(self, user_id: str) -> bool: method reset_password (line 140) | def reset_password(self, user_id: str) -> (str, str): function start (line 161) | async def start(update: Update, context: CallbackContext) -> None: function generate_token (line 186) | def generate_token(username: str, password: str, is_premium: bool) -> str: function generate_access_link (line 202) | def generate_access_link(token: str) -> str: function get_access_token (line 209) | async def get_access_token(update: Update, context: CallbackContext) -> ... function send_credentials_file (line 253) | async def send_credentials_file(update: Update, context: CallbackContext... function main (line 272) | def main() -> None: FILE: tests/common/data/ChannelTest.cpp function TEST (line 15) | TEST(ChannelTest, PushAndWaitForPacket) { function TEST (line 32) | TEST(ChannelTest, WaitForPacketTimeout) { FILE: tests/common/network/ClientStopRaceTest.cpp class MockWebSocket (line 28) | class MockWebSocket { method MockWebSocket (line 30) | MockWebSocket() : stopped_(false), run_entered_(false) {} method Run (line 32) | void Run() { method Stop (line 42) | bool Stop() { method RunEntered (line 48) | bool RunEntered() const { return run_entered_; } method RunExited (line 49) | bool RunExited() const { return run_exited_; } class MockClient (line 62) | class MockClient { method Start (line 64) | bool Start() { method StopFixed (line 72) | bool StopFixed() { method IsRunning (line 88) | bool IsRunning() const { return running_; } method WsRunExited (line 90) | bool WsRunExited() const { return ws_ && ws_->RunExited(); } method RunLoop (line 93) | void RunLoop() { function TEST (line 113) | TEST(ClientStopRaceTest, StopWhileRunning) { function TEST (line 126) | TEST(ClientStopRaceTest, RapidStartStopCycles) { function TEST (line 140) | TEST(ClientStopRaceTest, ImmediateStop) { function TEST (line 148) | TEST(ClientStopRaceTest, ThreadExitsBeforeReset) { FILE: tests/common/network/IPv4GeneratorTest.cpp function TEST (line 13) | TEST(IPv4GeneratorTest, InitialAddress) { function TEST (line 27) | TEST(IPv4GeneratorTest, NumAvaliableAddresses) { function TEST (line 43) | TEST(IPv4GeneratorTest, SmallDifficultNetsMask) { function TEST (line 53) | TEST(IPGeneratorTest, BigDifficultNetsMask) { FILE: tests/common/network/IPv6GeneratorTest.cpp function canonical (line 20) | std::string canonical(const std::string& full_hex) { function TEST (line 25) | TEST(IPv6GeneratorTest, InitialAddress) { function TEST (line 45) | TEST(IPv6GeneratorTest, NumAvaliableAddresses) { function TEST (line 66) | TEST(IPv6GeneratorTest, SmallDifficultNetsMask) { function TEST (line 81) | TEST(IPv6GeneratorTest, BigDifficultNetsMask) { FILE: tests/common/network/IPv6UtilsTest.cpp function TEST (line 22) | TEST(IPv6UtilsTest, ToStringMatchesPcppFormat) { function TEST (line 45) | TEST(IPv6UtilsTest, ServerDefaultSubnetMatchesPcpp) { function TEST (line 68) | TEST(IPv6UtilsTest, ToStringFormatsMatchPcppForVariousAddresses) { FILE: tests/common/network/TunDeviceTest.cpp function MakeMinimalIPv4Packet (line 31) | std::vector MakeMinimalIPv4Packet() { function MakeMinimalIPv6Packet (line 57) | std::vector MakeMinimalIPv6Packet() { type SharedMockState (line 110) | struct SharedMockState { method RecordWrite (line 115) | void RecordWrite(const void* data, int size) { method FeedRead (line 121) | int FeedRead(void* buffer, int max_size) { method InjectPacket (line 133) | void InjectPacket(std::vector data) { method Clear (line 138) | void Clear() { class MockTunDevice (line 150) | class MockTunDevice { method Open (line 152) | bool Open(const std::string& name) { method Close (line 157) | void Close() {} method ConfigureIPv4 (line 161) | bool ConfigureIPv4(const std::string& /*addr*/, int /*mask*/) { return... method ConfigureIPv6 (line 164) | bool ConfigureIPv6(const std::string& /*addr*/, int /*mask*/) { return... method SetNonBlocking (line 167) | void SetNonBlocking(bool /*enabled*/) {} method SetMTU (line 170) | void SetMTU(int /*mtu*/) {} method BringUp (line 173) | void BringUp() {} method SetStopFlag (line 176) | void SetStopFlag(const std::atomic* /*running*/) {} method Read (line 180) | int Read(void* buffer, int size) { method Write (line 186) | int Write(const void* data, int size) { type fptn::common::network (line 197) | namespace fptn::common::network { class GenericTunInterface (line 200) | class GenericTunInterface class GenericTunInterfaceTest (line 209) | class GenericTunInterfaceTest : public ::testing::Test { method SetUp (line 211) | void SetUp() override { g_mock_state = std::make_shared