/// <summary> /// <c>GetComponentInfo</c> returns metadata about the variables/types (and optionally dialogs and mapping info) /// for the indicated template's interview. /// </summary> /// <param name="template">An instance of the Template class, for which you are requesting component information.</param> /// <param name="includeDialogs">Whether to include dialog and mapping information in the returned results.</param> /// <param name="logRef">A string to display in logs related to this request.</param> /// <returns>returns the list of variables and dialogs (if includeDialogs is true) associated with the <c>template</c> parameter</returns> public ComponentInfo GetComponentInfo(Template template, bool includeDialogs, string logRef) { string logStr = logRef == null ? string.Empty : logRef; if (template == null) throw new ArgumentNullException("template", string.Format(@"WebService.Services.GetComponentInfo: the ""template"" parameter passed in was null, logRef: {0}", logStr)); ComponentInfo result; using (Proxy client = new Proxy(_endPointName)) { string fileName = GetRelativePath(template.GetFullPath()); result = client.GetComponentInfo(fileName, includeDialogs); SafeCloseClient(client, logRef); } return result; }