blob: 7e6d6d9239575c0e64fcb148a6538bed841758a3 [file] [log] [blame]
// Copyright 2023 The Fuchsia 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 SRC_DEVELOPER_DEBUG_DEBUG_AGENT_TEST_REALM_H_
#define SRC_DEVELOPER_DEBUG_DEBUG_AGENT_TEST_REALM_H_
#include <fidl/fuchsia.component.decl/cpp/fidl.h>
#include <fidl/fuchsia.component/cpp/fidl.h>
#include <fidl/fuchsia.sys2/cpp/fidl.h>
#include <string>
#include "src/developer/debug/shared/status.h"
namespace debug_agent {
// Values returned by |GetTestRealmAndOffers|.
struct TestRealmAndOffers {
// The client end of the specified realm.
fidl::ClientEnd<fuchsia_component::Realm> realm;
std::vector<fuchsia_component_decl::Offer> offers;
// The test collection portion of the |realm_arg| argument to |GetTestRealmAndOffers|.
std::string test_collection;
};
// Gets the test realm and related offers specified by |realm_arg|, which takes the form
// <realm moniker>:<test collection>.
fit::result<debug::Status, TestRealmAndOffers> GetTestRealmAndOffers(
const std::string& realm_arg,
fidl::SyncClient<fuchsia_sys2::LifecycleController> lifecycle_controller,
fidl::SyncClient<fuchsia_sys2::RealmQuery> realm_query);
// Gets the test realm and related offers specified by |realm_arg|, which takes the form
// <realm moniker>:<test collection>. This overload connects to |LifecycleController| and
// |RealmQuery| and calls the overload above.
fit::result<debug::Status, TestRealmAndOffers> GetTestRealmAndOffers(const std::string& realm_arg);
} // namespace debug_agent
#endif // SRC_DEVELOPER_DEBUG_DEBUG_AGENT_TEST_REALM_H_