JD2022-TU1/main/extern/dtest/dtcore/inc/dtdependencyrequest.h

63 lines
No EOL
2.1 KiB
C++

#pragma once
#include "dtcore/inc/dtstream.h"
namespace dt
{
class DT_CORE_DLL_ENTRY DependencyTargetMap : public Serializable
{
public:
DependencyTargetMap();
DependencyTargetMap(const String& platformFilter,
const String& configFilter,
const String& deployementFilter,
const String& platformOverride,
const String& configOverride,
const String& deploymentOverride);
const String& GetPlatformFilter() const { return m_PlatformFilter; }
const String& GetConfigFilter() const { return m_ConfigFilter; }
const String& GetDeploymentFilter() const { return m_DeploymentFilter; }
const String& GetPlatformOverride() const { return m_PlatformOverride; }
const String& GetConfigOverride() const { return m_ConfigOverride; }
const String& GetDeploymentOverride() const { return m_DeploymentOverride; }
bool operator==(const DependencyTargetMap& rhs) const;
virtual void Serialize(U8 version, Stream& stream) override;
private:
String m_PlatformFilter;
String m_ConfigFilter;
String m_DeploymentFilter;
String m_PlatformOverride;
String m_ConfigOverride;
String m_DeploymentOverride;
};
template class DT_CORE_DLL_ENTRY Vector<DependencyTargetMap>;
typedef Vector<DependencyTargetMap> DependencyTargetMaps;
class DT_CORE_DLL_ENTRY DependencyRequest : public Serializable
{
public:
DependencyRequest();
DependencyRequest(const String& name, const DependencyTargetMaps& targetMaps = DependencyTargetMaps());
const String& GetName() const { return m_Name; }
const DependencyTargetMaps& GetTargetMaps() const { return m_TargetMaps; }
bool operator==(const DependencyRequest& rhs) const;
virtual void Serialize(U8 version, Stream& stream) override;
private:
String m_Name;
DependencyTargetMaps m_TargetMaps;
};
template class DT_CORE_DLL_ENTRY Vector<DependencyRequest>;
typedef Vector<DependencyRequest> DependencyRequests;
}