Files
o3de/Code/Framework/AzFramework/AzFramework/StreamingInstall/StreamingInstallRequests.h
T
Artur K f44169f7fa Cleanup SerializeContext.h pt.1 (#4264)
* Remove AssetSerializer inclusion from SerializeContext header

Moved a few Reflect methods to new cpp files.

In addition, some preparations for further header dependency reductions.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix smoke test lua failures.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Windows build fixes.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Missing license headers

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix white-space issues.

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Code review fix for AzToolsFramework/AssetEditor/AssetEditorBus.h

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

* Fix inheritance list wrapping broken by older clang-format

Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com>

Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2021-09-29 11:31:01 -05:00

54 lines
2.6 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#pragma once
#include <AzCore/EBus/EBus.h>
#include <AzCore/Serialization/EditContext.h>
#include <AzCore/Serialization/EditContextConstants.inl>
namespace AzFramework
{
namespace StreamingInstall
{
////////////////////////////////////////////////////////////////////////////////////////
// EBUS interface used for setting monitoring and qeurying package and chunk install progress
// and requesting a change to the chunk install order.
class StreamingInstallRequests : public AZ::EBusTraits
{
public:
////////////////////////////////////////////////////////////////////////////////////////////
//! EBus Trait: requests can only be sent to and addressed by a single instance.
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
////////////////////////////////////////////////////////////////////////////////////////////
//! Override will use platform API to request reports on package install progress changes.
virtual void BroadcastOverallProgress() = 0;
////////////////////////////////////////////////////////////////////////////////////////////
//! Override will use platform API to request reports on chunk install progress changes.
//! \param[in] the chunk ID to monitor
virtual void BroadcastChunkProgress(const char* chunkId) = 0;
////////////////////////////////////////////////////////////////////////////////////////////
//! Override will use platform API to request a change to chunk install order. Chunks will
//! install in the order they appear in the vector from front to back
//! \param[in] a vector of chunk IDs in the desired new install order.
virtual void ChangeChunkPriority(const AZStd::vector<const char*>& chunkIds) = 0;
////////////////////////////////////////////////////////////////////////////////////////////
//! Override will use platform API to query if a chunk is installed.
//! \param[in] Id of the chunk to query.
virtual void IsChunkInstalled(const char* chunkId) = 0;
};
using StreamingInstallRequestBus = AZ::EBus<StreamingInstallRequests>;
} // namespace StreamingInstall
}