// Copyright 2015 The Weave Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "src/privet/privet_types.h" #include #include #include #include namespace weave { namespace { using privet::AuthType; using privet::ConnectionState; using privet::CryptoType; using privet::SetupState; using privet::WifiType; using provider::Network; const EnumToStringMap::Map kPairingTypeMap[] = { {PairingType::kPinCode, "pinCode"}, {PairingType::kEmbeddedCode, "embeddedCode"}, }; const EnumToStringMap::Map kAuthTypeMap[] = { {AuthType::kAnonymous, "anonymous"}, {AuthType::kPairing, "pairing"}, {AuthType::kLocal, "local"}, }; const EnumToStringMap::Map kConnectionStateMap[] = { {ConnectionState::kDisabled, "disabled"}, {ConnectionState::kUnconfigured, "unconfigured"}, {ConnectionState::kConnecting, "connecting"}, {ConnectionState::kOnline, "online"}, {ConnectionState::kOffline, "offline"}, }; const EnumToStringMap::Map kSetupStateMap[] = { {SetupState::kNone, nullptr}, {SetupState::kInProgress, "inProgress"}, {SetupState::kSuccess, "success"}, }; const EnumToStringMap::Map kWifiTypeMap[] = { {WifiType::kWifi24, "2.4GHz"}, {WifiType::kWifi50, "5.0GHz"}, }; const EnumToStringMap::Map kCryptoTypeMap[] = { {CryptoType::kNone, "none"}, {CryptoType::kSpake_p224, "p224_spake2"}, }; const EnumToStringMap::Map kAuthScopeMap[] = { {AuthScope::kNone, "none"}, {AuthScope::kViewer, "viewer"}, {AuthScope::kUser, "user"}, {AuthScope::kManager, "manager"}, {AuthScope::kOwner, "owner"}, }; const EnumToStringMap::Map kNetworkStateMap[] = { {Network::State::kOffline, "offline"}, {Network::State::kError, "error"}, {Network::State::kConnecting, "connecting"}, {Network::State::kOnline, "online"}, }; } // namespace template <> LIBWEAVE_EXPORT EnumToStringMap::EnumToStringMap() : EnumToStringMap(kPairingTypeMap) {} template <> LIBWEAVE_EXPORT EnumToStringMap::EnumToStringMap() : EnumToStringMap(kAuthTypeMap) {} template <> LIBWEAVE_EXPORT EnumToStringMap::EnumToStringMap() : EnumToStringMap(kConnectionStateMap) {} template <> LIBWEAVE_EXPORT EnumToStringMap::EnumToStringMap() : EnumToStringMap(kSetupStateMap) {} template <> LIBWEAVE_EXPORT EnumToStringMap::EnumToStringMap() : EnumToStringMap(kWifiTypeMap) {} template <> LIBWEAVE_EXPORT EnumToStringMap::EnumToStringMap() : EnumToStringMap(kCryptoTypeMap) {} template <> LIBWEAVE_EXPORT EnumToStringMap::EnumToStringMap() : EnumToStringMap(kAuthScopeMap) {} template <> LIBWEAVE_EXPORT EnumToStringMap::EnumToStringMap() : EnumToStringMap(kNetworkStateMap) {} } // namespace weave