42 lines
No EOL
1.8 KiB
C++
42 lines
No EOL
1.8 KiB
C++
#pragma once
|
|
|
|
#include "dtcore/inc/dtstream.h"
|
|
|
|
namespace dt
|
|
{
|
|
enum ResolvableTypes
|
|
{
|
|
ResolvableType_None = 0x00,
|
|
ResolvableType_Environment = 0x01,
|
|
ResolvableType_Custom = 0x02,
|
|
ResolvableType_Argument = 0x04,
|
|
ResolvableType_Os = 0x08
|
|
};
|
|
|
|
class Resolvable : public Serializable
|
|
{
|
|
public:
|
|
DT_CORE_DLL_ENTRY Resolvable();
|
|
|
|
DT_CORE_DLL_ENTRY virtual String GetDecoratedName() const = 0;
|
|
DT_CORE_DLL_ENTRY virtual const Strings& GetPlatformFilters() const { return m_EmptyStrings; }
|
|
DT_CORE_DLL_ENTRY virtual const Strings& GetConfigFilters() const { return m_EmptyStrings; }
|
|
DT_CORE_DLL_ENTRY virtual const Strings& GetDeploymentFilters() const { return m_EmptyStrings; }
|
|
DT_CORE_DLL_ENTRY virtual const Strings& GetProfileFilters() const { return m_EmptyStrings; }
|
|
DT_CORE_DLL_ENTRY virtual const Vector<AgentIndex>& GetAgentFilters() const { return m_EmptyS32Vector; }
|
|
DT_CORE_DLL_ENTRY virtual const Strings& GetConditionFilters() const { return m_EmptyStrings; }
|
|
DT_CORE_DLL_ENTRY virtual const Strings& GetTestNameFilters() const { return m_EmptyStrings; }
|
|
DT_CORE_DLL_ENTRY virtual const String& GetOriginFile() const = 0;
|
|
DT_CORE_DLL_ENTRY virtual int GetOriginLine() const = 0;
|
|
|
|
DT_CORE_DLL_ENTRY bool AnyTypesResolved() const { return m_ResolvableTypesResolved != ResolvableType_None; }
|
|
DT_CORE_DLL_ENTRY bool AreTypesResolved(int mask) const { return (m_ResolvableTypesResolved & mask) == mask; }
|
|
DT_CORE_DLL_ENTRY void ResolveTypes(int mask) { m_ResolvableTypesResolved |= mask; }
|
|
|
|
private:
|
|
DT_STATIC_DECLARE_IF_NO_ITERATOR_DEBUG(Vector<AgentIndex> m_EmptyS32Vector);
|
|
DT_STATIC_DECLARE_IF_NO_ITERATOR_DEBUG(Strings m_EmptyStrings);
|
|
int m_ResolvableTypesResolved;
|
|
};
|
|
|
|
} |