diff options
| author | Odd Stranne <odd@mullvad.net> | 2018-06-07 11:41:01 +0200 |
|---|---|---|
| committer | Odd Stranne <odd@mullvad.net> | 2018-06-18 08:45:16 +0200 |
| commit | 154bf451f86b40ecd04642feae19b1e551552aa0 (patch) | |
| tree | 9d0f210aab9aa44bd9869013b0a561ad5bfafac6 /windows | |
| parent | 9a15435b6caad4f8242defa6a8ac46c0fa0a2301 (diff) | |
| download | mullvadvpn-154bf451f86b40ecd04642feae19b1e551552aa0.tar.xz mullvadvpn-154bf451f86b40ecd04642feae19b1e551552aa0.zip | |
Provide config sink with serialized configs
Diffstat (limited to 'windows')
| -rw-r--r-- | windows/windns/src/windns/configmanager.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/windows/windns/src/windns/configmanager.cpp b/windows/windns/src/windns/configmanager.cpp index 138bbd5f75..09b3049fa4 100644 --- a/windows/windns/src/windns/configmanager.cpp +++ b/windows/windns/src/windns/configmanager.cpp @@ -1,5 +1,6 @@ #include "stdafx.h" #include "configmanager.h" +#include "windns/serialization/serializer.h" #include <utility> #include <algorithm> @@ -124,9 +125,16 @@ bool ConfigManager::internalUpdate(const InterfaceConfig &config) void ConfigManager::exportConfigs() { - // - // TODO: Serialize all configs and send to config sink - // - // serialize as array of InterfaceConfig? - // + common::serialization::Serializer s; + + s << static_cast<uint32_t>(m_configs.size()); + + for (auto it = m_configs.begin(); it != m_configs.end(); ++it) + { + it->second.serialize(s); + } + + auto data = s.blob(); + + m_configSinkInfo.sink(&data[0], static_cast<uint32_t>(data.size()), m_configSinkInfo.context); } |
