/// <summary> /// Translates the packet to/from binary form. /// </summary> /// <param name="translator">The translator to use.</param> public void Translate(INodePacketTranslator translator) { translator.TranslateEnum(ref _taskResult, (int)_taskResult); translator.TranslateException(ref _taskException); translator.Translate(ref _taskExceptionMessage); translator.Translate(ref _taskExceptionMessageArgs); translator.TranslateDictionary(ref _taskOutputParameters, StringComparer.OrdinalIgnoreCase, TaskParameter.FactoryForDeserialization); translator.TranslateDictionary(ref _buildProcessEnvironment, StringComparer.OrdinalIgnoreCase); }
/// <summary> /// Serialize / deserialize this item. /// </summary> public void Translate(INodePacketTranslator translator) { translator.TranslateEnum <TaskParameterType>(ref _parameterType, (int)_parameterType); switch (_parameterType) { case TaskParameterType.Null: _wrappedParameter = null; break; case TaskParameterType.String: string stringParam = (string)_wrappedParameter; translator.Translate(ref stringParam); _wrappedParameter = stringParam; break; case TaskParameterType.StringArray: string[] stringArrayParam = (string[])_wrappedParameter; translator.Translate(ref stringArrayParam); _wrappedParameter = stringArrayParam; break; #if FEATURE_BINARY_SERIALIZATION case TaskParameterType.ValueType: case TaskParameterType.ValueTypeArray: translator.TranslateDotNet(ref _wrappedParameter); break; #endif case TaskParameterType.ITaskItem: TranslateITaskItem(translator); break; case TaskParameterType.ITaskItemArray: TranslateITaskItemArray(translator); break; case TaskParameterType.Invalid: Exception exceptionParam = (Exception)_wrappedParameter; translator.TranslateException(ref exceptionParam); _wrappedParameter = exceptionParam; break; default: ErrorUtilities.ThrowInternalErrorUnreachable(); break; } }
/// <summary> /// Reads or writes the packet to the serializer. /// </summary> void INodePacketTranslatable.Translate(INodePacketTranslator translator) { translator.Translate(ref _submissionId); translator.Translate(ref _configurationId); translator.Translate(ref _globalRequestId); translator.Translate(ref _parentGlobalRequestId); translator.Translate(ref _nodeRequestId); translator.Translate(ref _initialTargets); translator.Translate(ref _defaultTargets); translator.Translate(ref _circularDependency); translator.TranslateException(ref _requestException); translator.TranslateDictionary <ConcurrentDictionary <string, TargetResult>, TargetResult>(ref _resultsByTarget, TargetResult.FactoryForDeserialization, CreateTargetResultDictionary); translator.Translate(ref _baseOverallResult); translator.Translate(ref _projectStateAfterBuild, ProjectInstance.FactoryForDeserialization); translator.Translate(ref _savedCurrentDirectory); translator.TranslateDictionary(ref _savedEnvironmentVariables, StringComparer.OrdinalIgnoreCase); }
/// <summary> /// Serializes or deserializes a packet. /// </summary> public void Translate(INodePacketTranslator translator) { translator.TranslateEnum(ref _reason, (int)_reason); translator.TranslateException(ref _exception); }
/// <summary> /// Translator. /// </summary> public void Translate(INodePacketTranslator translator) { translator.TranslateEnum(ref _resultCode, (int)_resultCode); translator.TranslateEnum(ref _actionCode, (int)_actionCode); translator.TranslateException(ref _exception); }