Commit 1187d70a authored by Richard Knoll's avatar Richard Knoll Committed by Commit Bot

[Nearby] Extract Mojo > Proto converters

This makes the conversions from Mojo Metadata Types available to be used
by the NearbySharingService to avoid code duplication.

Bug: 1085067
Change-Id: I42457e358fff3b02f7045d2788544c8bb636e066
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2349628Reviewed-by: default avatarHimanshu Jaju <himanshujaju@chromium.org>
Commit-Queue: Richard Knoll <knollr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#797673}
parent 4a597ea8
......@@ -14,6 +14,7 @@
#include "base/test/bind_test_util.h"
#include "base/test/task_environment.h"
#include "chrome/services/sharing/public/cpp/advertisement.h"
#include "chrome/services/sharing/public/cpp/conversions.h"
#include "chrome/services/sharing/public/mojom/nearby_decoder_types.mojom.h"
#include "chrome/services/sharing/public/proto/wire_format.pb.h"
#include "mojo/public/cpp/bindings/remote.h"
......@@ -38,54 +39,6 @@ void ExpectEquals(const Advertisement& self,
EXPECT_EQ(self.encrypted_metadata_key(), other->encrypted_metadata);
}
sharing::nearby::FileMetadata_Type ConvertFileMetadataType(
mojom::FileMetadata::Type type) {
switch (type) {
case mojom::FileMetadata::Type::kImage:
return sharing::nearby::FileMetadata_Type_IMAGE;
case mojom::FileMetadata::Type::kVideo:
return sharing::nearby::FileMetadata_Type_VIDEO;
case mojom::FileMetadata::Type::kApp:
return sharing::nearby::FileMetadata_Type_APP;
case mojom::FileMetadata::Type::kAudio:
return sharing::nearby::FileMetadata_Type_AUDIO;
case mojom::FileMetadata::Type::kUnknown:
return sharing::nearby::FileMetadata_Type_UNKNOWN;
}
}
sharing::nearby::TextMetadata_Type ConvertTextMetadataType(
mojom::TextMetadata::Type type) {
switch (type) {
case mojom::TextMetadata::Type::kText:
return sharing::nearby::TextMetadata_Type_TEXT;
case mojom::TextMetadata::Type::kUrl:
return sharing::nearby::TextMetadata_Type_URL;
case mojom::TextMetadata::Type::kAddress:
return sharing::nearby::TextMetadata_Type_ADDRESS;
case mojom::TextMetadata::Type::kPhoneNumber:
return sharing::nearby::TextMetadata_Type_PHONE_NUMBER;
case mojom::TextMetadata::Type::kUnknown:
return sharing::nearby::TextMetadata_Type_UNKNOWN;
}
}
sharing::nearby::WifiCredentialsMetadata_SecurityType
ConvertWifiCredentialsMetadataType(
mojom::WifiCredentialsMetadata::SecurityType type) {
switch (type) {
case mojom::WifiCredentialsMetadata::SecurityType::kOpen:
return sharing::nearby::WifiCredentialsMetadata_SecurityType_OPEN;
case mojom::WifiCredentialsMetadata::SecurityType::kWpaPsk:
return sharing::nearby::WifiCredentialsMetadata_SecurityType_WPA_PSK;
case mojom::WifiCredentialsMetadata::SecurityType::kWep:
return sharing::nearby::WifiCredentialsMetadata_SecurityType_WEP;
case mojom::WifiCredentialsMetadata::SecurityType::kUnknownSecurityType:
return sharing::nearby::
WifiCredentialsMetadata_SecurityType_UNKNOWN_SECURITY_TYPE;
}
}
void ExpectFrameContainsIntroduction(
const mojom::FramePtr& frame,
const std::vector<sharing::nearby::FileMetadata>& file_metadata,
......
......@@ -6,12 +6,16 @@ source_set("cpp") {
sources = [
"advertisement.cc",
"advertisement.h",
"conversions.cc",
"conversions.h",
"sharing_webrtc_metrics.cc",
"sharing_webrtc_metrics.h",
]
public_deps = [
"//base",
"//chrome/services/sharing/public/mojom",
"//chrome/services/sharing/public/proto",
"//mojo/public/cpp/bindings",
]
}
......
// Copyright 2020 The Chromium 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 "chrome/services/sharing/public/cpp/conversions.h"
namespace sharing {
nearby::FileMetadata_Type ConvertFileMetadataType(
mojom::FileMetadata::Type type) {
switch (type) {
case mojom::FileMetadata::Type::kImage:
return nearby::FileMetadata_Type_IMAGE;
case mojom::FileMetadata::Type::kVideo:
return nearby::FileMetadata_Type_VIDEO;
case mojom::FileMetadata::Type::kApp:
return nearby::FileMetadata_Type_APP;
case mojom::FileMetadata::Type::kAudio:
return nearby::FileMetadata_Type_AUDIO;
case mojom::FileMetadata::Type::kUnknown:
return nearby::FileMetadata_Type_UNKNOWN;
}
}
nearby::TextMetadata_Type ConvertTextMetadataType(
mojom::TextMetadata::Type type) {
switch (type) {
case mojom::TextMetadata::Type::kText:
return nearby::TextMetadata_Type_TEXT;
case mojom::TextMetadata::Type::kUrl:
return nearby::TextMetadata_Type_URL;
case mojom::TextMetadata::Type::kAddress:
return nearby::TextMetadata_Type_ADDRESS;
case mojom::TextMetadata::Type::kPhoneNumber:
return nearby::TextMetadata_Type_PHONE_NUMBER;
case mojom::TextMetadata::Type::kUnknown:
return nearby::TextMetadata_Type_UNKNOWN;
}
}
nearby::WifiCredentialsMetadata_SecurityType ConvertWifiCredentialsMetadataType(
mojom::WifiCredentialsMetadata::SecurityType type) {
switch (type) {
case mojom::WifiCredentialsMetadata::SecurityType::kOpen:
return nearby::WifiCredentialsMetadata_SecurityType_OPEN;
case mojom::WifiCredentialsMetadata::SecurityType::kWpaPsk:
return nearby::WifiCredentialsMetadata_SecurityType_WPA_PSK;
case mojom::WifiCredentialsMetadata::SecurityType::kWep:
return nearby::WifiCredentialsMetadata_SecurityType_WEP;
case mojom::WifiCredentialsMetadata::SecurityType::kUnknownSecurityType:
return nearby::WifiCredentialsMetadata_SecurityType_UNKNOWN_SECURITY_TYPE;
}
}
} // namespace sharing
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_SERVICES_SHARING_PUBLIC_CPP_CONVERSIONS_H_
#define CHROME_SERVICES_SHARING_PUBLIC_CPP_CONVERSIONS_H_
#include "chrome/services/sharing/public/mojom/nearby_decoder_types.mojom.h"
#include "chrome/services/sharing/public/proto/wire_format.pb.h"
namespace sharing {
nearby::FileMetadata_Type ConvertFileMetadataType(
mojom::FileMetadata::Type type);
nearby::TextMetadata_Type ConvertTextMetadataType(
mojom::TextMetadata::Type type);
nearby::WifiCredentialsMetadata_SecurityType ConvertWifiCredentialsMetadataType(
mojom::WifiCredentialsMetadata::SecurityType type);
} // namespace sharing
#endif // CHROME_SERVICES_SHARING_PUBLIC_CPP_CONVERSIONS_H_
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment