DefinitionDetails::DefinitionDetails(IComponentContext& context, const PyScript::ScriptObject& pythonObject) : context_(context), name_(DefinitionDetails::generateName(pythonObject)), pythonObject_(pythonObject), metaData_(MetaNone()) { assert(!name_.empty()); // Assume that _metaData is not modified after creation const char* metaDataName = "_metaData"; const auto metaDataAttribute = pythonObject.getAttribute(metaDataName, PyScript::ScriptErrorClear()); metaDataDict_ = PyScript::ScriptDict::create(metaDataAttribute); attachListenerHooks(pythonObject_); }
#include "Tools/FBuild/FBuildCore/FBuild.h" #include "Tools/FBuild/FBuildCore/FLog.h" #include "Tools/FBuild/FBuildCore/BFF/Functions/Function.h" #include "Tools/FBuild/FBuildCore/Graph/NodeGraph.h" #include "Tools/FBuild/FBuildCore/Graph/DirectoryListNode.h" #include "Tools/FBuild/FBuildCore/Helpers/ProjectGeneratorBase.h" #include "Tools/FBuild/FBuildCore/Helpers/XCodeProjectGenerator.h" #include "Core/FileIO/IOStream.h" #include "Core/FileIO/PathUtils.h" #include "Core/Strings/AStackString.h" // Reflection //------------------------------------------------------------------------------ REFLECT_STRUCT_BEGIN_BASE( XCodeProjectConfig ) REFLECT( m_Config, "Config", MetaNone() ) REFLECT( m_Target, "Target", MetaNone() ) REFLECT_END( XCodeProjectConfig ) REFLECT_BEGIN( XCodeProjectNode, Node, MetaName( "ProjectOutput" ) + MetaFile() ) REFLECT_ARRAY( m_ProjectInputPaths, "ProjectInputPaths", MetaOptional() + MetaPath() ) REFLECT_ARRAY( m_ProjectInputPathsExclude, "ProjectInputPathsExclude", MetaOptional() + MetaPath() ) REFLECT_ARRAY( m_ProjectFiles, "ProjectFiles", MetaOptional() + MetaFile() ) REFLECT_ARRAY( m_ProjectFilesToExclude, "ProjectFilesToExclude", MetaOptional() + MetaFile() ) REFLECT_ARRAY( m_PatternToExclude, "ProjectPatternToExclude", MetaOptional() + MetaFile()) REFLECT_ARRAY( m_ProjectBasePath, "ProjectBasePath", MetaOptional() + MetaPath() ) REFLECT_ARRAY( m_ProjectAllowedFileExtensions, "ProjectAllowedFileExtensions", MetaOptional() ) REFLECT_ARRAY_OF_STRUCT( m_ProjectConfigs, "ProjectConfigs", XCodeProjectConfig, MetaNone() ) REFLECT( m_XCodeOrganizationName, "XCodeOrganizationName", MetaOptional() ) REFLECT( m_XCodeBuildToolPath, "XCodeBuildToolPath", MetaOptional() ) REFLECT( m_XCodeBuildToolArgs, "XCodeBuildToolArgs", MetaOptional() )
#pragma once #include "core_reflection/metadata/meta_impl.hpp" #include "core_reflection/reflection_macros.hpp" #include "core_reflection/metadata/meta_types.hpp" #include "core_reflection/utilities/reflection_function_utilities.hpp" namespace wgt { BEGIN_EXPOSE(MetaBase, MetaNone()) END_EXPOSE() BEGIN_EXPOSE(MetaNoneObj, MetaBase, MetaNone()) END_EXPOSE() BEGIN_EXPOSE(MetaComponentObj, MetaBase, MetaNone()) EXPOSE("componentName", componentName_) END_EXPOSE() BEGIN_EXPOSE(MetaAngleObj, MetaComponentObj, MetaNone()) EXPOSE("convertToRadians", convertToRadians_) END_EXPOSE() BEGIN_EXPOSE(MetaTimeObj, MetaComponentObj, MetaNone()) END_EXPOSE() BEGIN_EXPOSE(MetaSignalObj, MetaBase, MetaNone()) END_EXPOSE() BEGIN_EXPOSE(MetaInvalidatesObjectObj, MetaBase, MetaNone()) END_EXPOSE()
#include "Tools/FBuild/FBuildCore/Graph/NodeGraph.h" #include "Tools/FBuild/FBuildCore/Helpers/Args.h" #include "Tools/FBuild/FBuildCore/WorkerPool/Job.h" #include "Core/Env/Env.h" #include "Core/FileIO/FileIO.h" #include "Core/FileIO/PathUtils.h" #include "Core/Process/Process.h" #include "Core/Profile/Profile.h" #include "Core/Strings/AStackString.h" // Reflection //------------------------------------------------------------------------------ REFLECT_NODE_BEGIN( LinkerNode, Node, MetaName( "LinkerOutput" ) + MetaFile() ) REFLECT( m_Linker, "Linker", MetaFile() ) REFLECT( m_LinkerOptions, "LinkerOptions", MetaNone() ) REFLECT( m_LinkerType, "LinkerType", MetaOptional() ) REFLECT_ARRAY( m_Libraries, "Libraries", MetaFile() + MetaAllowNonFile() ) REFLECT_ARRAY( m_LinkerAssemblyResources, "LinkerAssemblyResources", MetaOptional() + MetaFile() ) REFLECT( m_LinkerLinkObjects, "LinkerLinkObjects", MetaOptional() ) REFLECT( m_LinkerStampExe, "LinkerStampExe", MetaOptional() + MetaFile() ) REFLECT( m_LinkerStampExeArgs, "LinkerStampExeArgs", MetaOptional() ) REFLECT_ARRAY( m_PreBuildDependencyNames, "PreBuildDependencies", MetaOptional() + MetaFile() + MetaAllowNonFile() ) // Internal State REFLECT( m_Flags, "Flags", MetaHidden() ) REFLECT( m_AssemblyResourcesStartIndex, "AssemblyResourcesStartIndex", MetaHidden() ) REFLECT( m_AssemblyResourcesNum, "AssemblyResourcesNum", MetaHidden() ) REFLECT( m_ImportLibName, "ImportLibName", MetaHidden() ) REFLECT_END( LinkerNode )