unsafe private CsdbObject FilterImpl(Applicability app, FilterMode mode) { string objectXml = doc.OuterXml; string resultXml; int size; int err = s1kdFilter(objectXml, objectXml.Length, app.InternalDefs, mode, out resultXml, out size); if (err != 0) { throw new Exception("Filtering failed (" + err + ")"); } CsdbObject result = new CsdbObject(); result.XmlDocument.LoadXml(resultXml); return(result); }
/// <summary> /// Filter the object on a given set of applicability definitions. /// </summary> /// <param name="app">The applicability definitions to filter on</param> /// <param name="mode">The filtering mode to use</param> /// <returns> /// The filtered CSDB object instance /// </returns> public CsdbObject Filter(Applicability app, FilterMode mode) { return(FilterImpl(app, mode)); }