private List <FilterModuleDescription> GetSubFilter(ModuleDescriptionStructure module) { var result = new List <FilterModuleDescription>(); var filterModule = FilterModuleDescription.GetFilterModuleDescription(module); if (filterModule == null) { return(result); } result.Add(filterModule); if (module.NextModule != IntPtr.Zero) { #if NET20 || NET35 || NET40 || NET45 ModuleDescriptionStructure nextModule = (ModuleDescriptionStructure)Marshal.PtrToStructure(module.NextModule, typeof(ModuleDescriptionStructure)); #else ModuleDescriptionStructure nextModule = Marshal.PtrToStructure <ModuleDescriptionStructure>(module.NextModule); #endif var data = GetSubFilter(nextModule); if (data.Count > 0) { result.AddRange(data); } } return(result); }
public IEnumerable<FilterModuleDescription> GetVideoFilters() { var module = Manager.GetVideoFilterList(); ModuleDescriptionStructure nextModule = (ModuleDescriptionStructure)Marshal.PtrToStructure(module, typeof(ModuleDescriptionStructure)); var result = GetSubFilter(nextModule); if (module != IntPtr.Zero) Manager.ReleaseModuleDescriptionInstance(module); return result; }
public IEnumerable <FilterModuleDescription> GetVideoFilters() { var module = Manager.GetVideoFilterList(); ModuleDescriptionStructure nextModule = MarshalHelper.PtrToStructure <ModuleDescriptionStructure>(module); var result = GetSubFilter(nextModule); if (module != IntPtr.Zero) { Manager.ReleaseModuleDescriptionInstance(module); } return(result); }
internal static FilterModuleDescription GetFilterModuleDescription(ModuleDescriptionStructure module) { if (module.Name == IntPtr.Zero) { return(null); } var result = new FilterModuleDescription { Name = Utf8InteropStringConverter.Utf8InteropToString(module.Name), ShortName = Utf8InteropStringConverter.Utf8InteropToString(module.ShortName), LongName = Utf8InteropStringConverter.Utf8InteropToString(module.LongName), Help = Utf8InteropStringConverter.Utf8InteropToString(module.Help) }; return(result); }
public IEnumerable <FilterModuleDescription> GetVideoFilters() { var module = Manager.GetVideoFilterList(); #if NET20 || NET35 || NET40 || NET45 ModuleDescriptionStructure nextModule = (ModuleDescriptionStructure)Marshal.PtrToStructure(module, typeof(ModuleDescriptionStructure)); #else ModuleDescriptionStructure nextModule = Marshal.PtrToStructure <ModuleDescriptionStructure>(module); #endif var result = GetSubFilter(nextModule); if (module != IntPtr.Zero) { Manager.ReleaseModuleDescriptionInstance(module); } return(result); }
private List<FilterModuleDescription> GetSubFilter(ModuleDescriptionStructure module) { var result = new List<FilterModuleDescription>(); var filterModule = FilterModuleDescription.GetFilterModuleDescription(module); if (filterModule == null) { return result; } result.Add(filterModule); if (module.NextModule != IntPtr.Zero) { ModuleDescriptionStructure nextModule = (ModuleDescriptionStructure)Marshal.PtrToStructure(module.NextModule, typeof(ModuleDescriptionStructure)); var data = GetSubFilter(nextModule); if (data.Count > 0) result.AddRange(data); } return result; }
internal static FilterModuleDescription GetFilterModuleDescription(ModuleDescriptionStructure module) { if (module.Name == IntPtr.Zero) { return(null); } var result = new FilterModuleDescription(); #if NET20 result.Name = IntPtrExtensions.ToStringAnsi(module.Name); result.ShortName = IntPtrExtensions.ToStringAnsi(module.ShortName); result.LongName = IntPtrExtensions.ToStringAnsi(module.LongName); result.Help = IntPtrExtensions.ToStringAnsi(module.Help); #else result.Name = module.Name.ToStringAnsi(); result.ShortName = module.ShortName.ToStringAnsi(); result.LongName = module.LongName.ToStringAnsi(); result.Help = module.Help.ToStringAnsi(); #endif return(result); }
private List <FilterModuleDescription> GetSubFilter(ModuleDescriptionStructure module) { var result = new List <FilterModuleDescription>(); var filterModule = FilterModuleDescription.GetFilterModuleDescription(module); if (filterModule == null) { return(result); } result.Add(filterModule); if (module.NextModule != IntPtr.Zero) { ModuleDescriptionStructure nextModule = MarshalHelper.PtrToStructure <ModuleDescriptionStructure>(module.NextModule); var data = GetSubFilter(nextModule); if (data.Count > 0) { result.AddRange(data); } } return(result); }
/// <summary> /// Helper method that creates a user friendly type from the internal interop structure. /// </summary> /// <param name="s">ModuleDescriptionStructure from interop</param> /// <returns>public ModuleDescription to be consumed by the user</returns> internal static ModuleDescription Build(this ModuleDescriptionStructure s) => new ModuleDescription(Utf8StringMarshaler.GetInstance().MarshalNativeToManaged(s.Name) as string, Utf8StringMarshaler.GetInstance().MarshalNativeToManaged(s.ShortName) as string, Utf8StringMarshaler.GetInstance().MarshalNativeToManaged(s.LongName) as string, Utf8StringMarshaler.GetInstance().MarshalNativeToManaged(s.Help) as string);
/// <summary> /// Helper method that creates a user friendly type from the internal interop structure. /// </summary> /// <param name="s">ModuleDescriptionStructure from interop</param> /// <returns>public ModuleDescription to be consumed by the user</returns> internal static ModuleDescription Build(this ModuleDescriptionStructure s) => new ModuleDescription(s.Name.FromUtf8(), s.ShortName.FromUtf8(), s.LongName.FromUtf8(), s.Help.FromUtf8());