internal bool Introspect(IMessageDialog dialog) { var result = true; if (AddinHeader == null) { dialog.AddError(""); result = false; } else { result &= AddinHeader.Introspect(dialog); } if (ExtensionDeclaration == null && ExtensionImplementation == null) { dialog.AddError(""); result = false; } if (ExtensionDeclaration != null) { result &= ExtensionDeclaration.Introspect(dialog); } if (ExtensionImplementation != null) { result &= ExtensionImplementation.Introspect(dialog); } return(result); }
internal override bool Introspect(INameConvention nameConvention, ResolutionResult resolutionResult) { var result = true; if (AddinHeader == null) { resolutionResult.AddError( string.Format("The addin located at [{0}] does not define any addin properties (name, guid, etc) in the Addin node of manifest file, which is required!", ManifestFile.Directory)); result = false; } else { result &= AddinHeader.Introspect(ManifestFile.Directory, resolutionResult); } if (!result) { return(false); } if (AddinActivator != null) { result &= AddinActivator.Introspect(resolutionResult); } if (ExtensionSchema == null && Extensions == null) { resolutionResult.AddError(string.Format( "A valid addin manifest file must contain either an extension schema node, or an extension node, or both, while the addin [{0}] located at [{1}] does not provide any of them!", AddinHeader.Name, ManifestFile.Directory)); result = false; } if (ExtensionSchema != null) { result &= ExtensionSchema.Introspect(nameConvention, resolutionResult); } if (Extensions != null) { result &= Extensions.Introspect(resolutionResult); } return(result); }