summaryrefslogtreecommitdiffhomepage
path: root/windows/driverlogic/src/driverlogic.cpp
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2020-02-18 12:32:05 +0100
committerDavid Lönnhager <david.l@mullvad.net>2020-02-18 12:49:56 +0100
commit9572d5c0567571c7e5930fb4eccefd56fc948998 (patch)
tree0eb57a248e382cffb97d8fdcaf2316ebb08493a4 /windows/driverlogic/src/driverlogic.cpp
parent56924f780f39fb89222b43a438b65d4cac7ff42d (diff)
downloadmullvadvpn-9572d5c0567571c7e5930fb4eccefd56fc948998.tar.xz
mullvadvpn-9572d5c0567571c7e5930fb4eccefd56fc948998.zip
Abstract logging in driverlogic
Diffstat (limited to 'windows/driverlogic/src/driverlogic.cpp')
-rw-r--r--windows/driverlogic/src/driverlogic.cpp52
1 files changed, 36 insertions, 16 deletions
diff --git a/windows/driverlogic/src/driverlogic.cpp b/windows/driverlogic/src/driverlogic.cpp
index f57ffc209b..41c782f0aa 100644
--- a/windows/driverlogic/src/driverlogic.cpp
+++ b/windows/driverlogic/src/driverlogic.cpp
@@ -68,6 +68,16 @@ void LogAdapters(const std::wstring &description, const std::set<NetworkAdapter>
}
}
+void Log(const std::wstring &str)
+{
+ std::wcout << str << std::endl;
+}
+
+void LogError(const std::wstring &str)
+{
+ std::wcerr << str << std::endl;
+}
+
std::optional<std::wstring> GetDeviceRegistryStringProperty(
HDEVINFO devInfo,
const SP_DEVINFO_DATA &devInfoData,
@@ -345,8 +355,10 @@ void ForEachNetworkDevice(const std::optional<std::wstring> hwId, std::function<
// Skip this adapter
//
- std::wcerr << L"Skipping TAP adapter due to exception caught while iterating: "
- << common::string::ToWide(e.what()) << std::endl;
+ std::wstringstream ss;
+ ss << L"Skipping TAP adapter due to exception caught while iterating: "
+ << common::string::ToWide(e.what());
+ LogError(ss.str());
continue;
}
}
@@ -386,8 +398,10 @@ std::set<NetworkAdapter> GetNetworkAdapters(const std::optional<std::wstring> ha
// Skip this adapter
//
- std::wcerr << L"Skipping adapter due to exception caught while iterating: "
- << common::string::ToWide(e.what()) << std::endl;
+ std::wstringstream ss;
+ ss << L"Skipping adapter due to exception caught while iterating: "
+ << common::string::ToWide(e.what());
+ LogError(ss.str());
}
return true;
});
@@ -456,12 +470,12 @@ void CreateTapDevice()
THROW_WINDOWS_ERROR(GetLastError(), "SetupDiCallClassInstaller");
}
- std::wcout << L"Created new TAP adapter successfully" << std::endl;
+ Log(L"Created new TAP adapter successfully");
}
void UpdateTapDriver(const std::wstring &infPath)
{
- std::wcout << L"Attempting to install new driver" << std::endl;
+ Log(L"Attempting to install new driver");
DWORD installFlags = 0;
BOOL rebootRequired = FALSE;
@@ -483,7 +497,7 @@ ATTEMPT_UPDATE:
if (ERROR_NO_MORE_ITEMS == lastError
&& (installFlags ^ INSTALLFLAG_FORCE))
{
- std::wcout << L"Driver update failed. Attempting forced install." << std::endl;
+ Log(L"Driver update failed. Attempting forced install.");
installFlags |= INSTALLFLAG_FORCE;
goto ATTEMPT_UPDATE;
@@ -496,8 +510,10 @@ ATTEMPT_UPDATE:
// Driver successfully installed or updated
//
- std::wcout << L"TAP driver update complete. Reboot required: "
+ std::wstringstream ss;
+ ss << L"TAP driver update complete. Reboot required: "
<< rebootRequired;
+ Log(ss.str());
}
//
@@ -618,8 +634,10 @@ void RemoveTapDriver(const std::wstring &tapHardwareId)
// Skip this adapter
//
- std::wcerr << L"Skipping TAP adapter due to exception caught while iterating: "
- << common::string::ToWide(e.what()) << std::endl;
+ std::wstringstream ss;
+ ss << L"Skipping TAP adapter due to exception caught while iterating: "
+ << common::string::ToWide(e.what());
+ LogError(ss.str());
}
return true;
});
@@ -658,8 +676,10 @@ void DeleteVanillaMullvadAdapter()
// Skip this adapter
//
- std::wcerr << L"Skipping TAP adapter due to exception caught while iterating: "
- << common::string::ToWide(e.what()) << std::endl;
+ std::wstringstream ss;
+ ss << L"Skipping TAP adapter due to exception caught while iterating: "
+ << common::string::ToWide(e.what());
+ LogError(ss.str());
}
return true;
});
@@ -677,7 +697,7 @@ int wmain(int argc, const wchar_t * argv[], const wchar_t * [])
if (-1 == _setmode(_fileno(stdout), _O_U16TEXT)
|| -1 == _setmode(_fileno(stderr), _O_U16TEXT))
{
- std::wcerr << L"Failed to set translation mode" << std::endl;
+ LogError(L"Failed to set translation mode");
}
if (2 > argc)
@@ -727,18 +747,18 @@ int wmain(int argc, const wchar_t * argv[], const wchar_t * [])
}
catch (const std::exception &e)
{
- std::wcerr << common::string::ToWide(e.what());
+ LogError(common::string::ToWide(e.what()));
return GENERAL_ERROR;
}
catch (...)
{
- std::wcerr << L"Unhandled exception.";
+ LogError(L"Unhandled exception.");
return GENERAL_ERROR;
}
return GENERAL_SUCCESS;
INVALID_ARGUMENTS:
- std::wcerr << L"Invalid arguments.";
+ LogError(L"Invalid arguments.");
return GENERAL_ERROR;
}