mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 22:56:12 -04:00
Plumb CredentialManager::SetLocalDeviceMetadata through to PresenceService
PiperOrigin-RevId: 527257552
This commit is contained in:
committed by
Copybara-Service
parent
102679b630
commit
fa54c26fcd
@@ -16,6 +16,7 @@
|
||||
#define THIRD_PARTY_NEARBY_PRESENCE_IMPLEMENTATION_SERVICE_CONTROLLER_H_
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/status/statusor.h"
|
||||
#include "presence/broadcast_request.h"
|
||||
@@ -40,6 +41,13 @@ class ServiceController {
|
||||
virtual absl::StatusOr<BroadcastSessionId> StartBroadcast(
|
||||
BroadcastRequest broadcast_request, BroadcastCallback callback) = 0;
|
||||
virtual void StopBroadcast(BroadcastSessionId session_id) = 0;
|
||||
virtual void UpdateLocalDeviceMetadata(
|
||||
const ::nearby::internal::Metadata& metadata, bool regen_credentials,
|
||||
absl::string_view manager_app_id,
|
||||
const std::vector<nearby::internal::IdentityType>& identity_types,
|
||||
int credential_life_cycle_days, int contiguous_copy_of_credentials,
|
||||
GenerateCredentialsResultCallback credentials_generated_cb) = 0;
|
||||
virtual ::nearby::internal::Metadata GetLocalDeviceMetadata() = 0;
|
||||
};
|
||||
|
||||
} // namespace presence
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "presence/implementation/service_controller_impl.h"
|
||||
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/status/statusor.h"
|
||||
#include "presence/data_types.h"
|
||||
@@ -40,5 +41,17 @@ void ServiceControllerImpl::StopBroadcast(BroadcastSessionId id) {
|
||||
broadcast_manager_.StopBroadcast(id);
|
||||
}
|
||||
|
||||
void ServiceControllerImpl::UpdateLocalDeviceMetadata(
|
||||
const ::nearby::internal::Metadata& metadata, bool regen_credentials,
|
||||
absl::string_view manager_app_id,
|
||||
const std::vector<nearby::internal::IdentityType>& identity_types,
|
||||
int credential_life_cycle_days, int contiguous_copy_of_credentials,
|
||||
GenerateCredentialsResultCallback credentials_generated_cb) {
|
||||
credential_manager_.SetLocalDeviceMetadata(
|
||||
metadata, regen_credentials, manager_app_id, identity_types,
|
||||
credential_life_cycle_days, contiguous_copy_of_credentials,
|
||||
std::move(credentials_generated_cb));
|
||||
}
|
||||
|
||||
} // namespace presence
|
||||
} // namespace nearby
|
||||
|
||||
@@ -46,6 +46,15 @@ class ServiceControllerImpl : public ServiceController {
|
||||
absl::StatusOr<BroadcastSessionId> StartBroadcast(
|
||||
BroadcastRequest broadcast_request, BroadcastCallback callback) override;
|
||||
void StopBroadcast(BroadcastSessionId) override;
|
||||
void UpdateLocalDeviceMetadata(
|
||||
const ::nearby::internal::Metadata& metadata, bool regen_credentials,
|
||||
absl::string_view manager_app_id,
|
||||
const std::vector<nearby::internal::IdentityType>& identity_types,
|
||||
int credential_life_cycle_days, int contiguous_copy_of_credentials,
|
||||
GenerateCredentialsResultCallback credentials_generated_cb) override;
|
||||
::nearby::internal::Metadata GetLocalDeviceMetadata() override {
|
||||
return credential_manager_.GetLocalDeviceMetadata();
|
||||
}
|
||||
|
||||
SingleThreadExecutor& GetBackgroundExecutor() { return executor_; }
|
||||
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
#define THIRD_PARTY_NEARBY_PRESENCE_PRESENCE_SERVICE_H_
|
||||
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "internal/platform/borrowable.h"
|
||||
#include "presence/data_types.h"
|
||||
@@ -46,6 +48,22 @@ class PresenceService {
|
||||
|
||||
void StopBroadcast(BroadcastSessionId session_id);
|
||||
|
||||
void UpdateLocalDeviceMetadata(
|
||||
const ::nearby::internal::Metadata& metadata, bool regen_credentials,
|
||||
absl::string_view manager_app_id,
|
||||
const std::vector<nearby::internal::IdentityType>& identity_types,
|
||||
int credential_life_cycle_days, int contiguous_copy_of_credentials,
|
||||
GenerateCredentialsResultCallback credentials_generated_cb) {
|
||||
service_controller_->UpdateLocalDeviceMetadata(
|
||||
metadata, regen_credentials, manager_app_id, identity_types,
|
||||
credential_life_cycle_days, contiguous_copy_of_credentials,
|
||||
std::move(credentials_generated_cb));
|
||||
}
|
||||
|
||||
::nearby::internal::Metadata GetLocalDeviceMetadata() {
|
||||
return service_controller_->GetLocalDeviceMetadata();
|
||||
}
|
||||
|
||||
private:
|
||||
std::unique_ptr<ServiceController> service_controller_;
|
||||
::nearby::Lender<PresenceService *> lender_{this};
|
||||
|
||||
@@ -24,11 +24,22 @@ namespace nearby {
|
||||
namespace presence {
|
||||
namespace {
|
||||
|
||||
using Metadata = ::nearby::internal::Metadata;
|
||||
|
||||
class PresenceServiceTest : public testing::Test {
|
||||
protected:
|
||||
nearby::MediumEnvironment& env_{nearby::MediumEnvironment::Instance()};
|
||||
};
|
||||
|
||||
Metadata CreateTestMetadata(absl::string_view account_name) {
|
||||
Metadata metadata;
|
||||
metadata.set_account_name(account_name);
|
||||
metadata.set_device_name("NP test device");
|
||||
metadata.set_device_profile_url("test_image.test.com");
|
||||
metadata.set_bluetooth_mac_address("\xFF\xFF\xFF\xFF\xFF\xFF");
|
||||
return metadata;
|
||||
}
|
||||
|
||||
TEST_F(PresenceServiceTest, DefaultConstructorWorks) {
|
||||
PresenceService presence_service;
|
||||
}
|
||||
@@ -59,6 +70,14 @@ TEST_F(PresenceServiceTest, StartThenStopScan) {
|
||||
env_.Stop();
|
||||
}
|
||||
|
||||
TEST_F(PresenceServiceTest, UpdatingLocalMetadataWorks) {
|
||||
PresenceService presence_service;
|
||||
presence_service.UpdateLocalDeviceMetadata(CreateTestMetadata("Test account"),
|
||||
false, "Test app", {}, 3, 1, {});
|
||||
EXPECT_EQ(presence_service.GetLocalDeviceMetadata().SerializeAsString(),
|
||||
CreateTestMetadata("Test account").SerializeAsString());
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace presence
|
||||
} // namespace nearby
|
||||
|
||||
Reference in New Issue
Block a user