Dependencies/Assemblies/Microsoft365DSC.Cache.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft365DSC.Cache</name>
    </assembly>
    <members>
        <member name="T:Microsoft365DSC.Cache.CacheManager">
            <summary>
            Provides a centralized, thread-safe cache for expensive data structures
            shared across PowerShell and C# layers. Loading data here avoids repeated
            deserialization and the boxing overhead that occurs when passing rich
            objects from PowerShell to C#.
            </summary>
        </member>
        <member name="P:Microsoft365DSC.Cache.CacheManager.IsSchemaLoaded">
            <summary>
            Gets a value indicating whether the M365DSC schema has been loaded.
            </summary>
        </member>
        <member name="P:Microsoft365DSC.Cache.CacheManager.Schema">
            <summary>
            Gets the cached schema as an <see cref="T:System.Collections.Generic.IEnumerable`1"/> of Hashtables.
            Returns <c>null</c> if the schema has not been loaded yet.
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.CacheManager.LoadSchema(System.Collections.Generic.List{System.Object})">
            <summary>
            Loads the schema from a list of objects,
            deserializes it into a list of <see cref="T:System.Collections.Hashtable"/> trees, and caches
            the result. Subsequent calls are no-ops unless <paramref name="force"/>
            is <c>true</c>.
            </summary>
            <param name="schema">List of schema objects to cache.</param>
        </member>
        <member name="M:Microsoft365DSC.Cache.CacheManager.ClearSchema">
            <summary>
            Clears the cached schema so the next caller reloads it.
            </summary>
            <remarks>
            The cache is process-wide and <see cref="M:Microsoft365DSC.Cache.CacheManager.LoadSchema(System.Collections.Generic.List{System.Object})"/> overwrites unconditionally, so a
            test that loads a fixture schema must clear it again or every later test in the same
            process resolves against the fixture.
            </remarks>
        </member>
        <member name="M:Microsoft365DSC.Cache.CacheManager.FilterLoadedCimClassesByName(System.String)">
            <summary>
            Finds a CIM class in the cached schema by its ClassName.
            </summary>
            <param name="className">The class name to look for, including the MSFT_ prefix.</param>
            <returns>The matching schema entry, or <c>null</c> when the schema is not loaded or holds no such class.</returns>
        </member>
        <member name="M:Microsoft365DSC.Cache.CacheManager.ConvertCimType(System.String)">
            <summary>
            Maps a CIM type onto the PowerShell type literal used in resource property descriptors.
            </summary>
            <param name="cimType">The CIM type, optionally suffixed with [] for an array.</param>
            <returns>The bracketed type literal, for example "[string[]]".</returns>
        </member>
        <member name="M:Microsoft365DSC.Cache.CacheManager.GetResourceProperties(System.Object)">
            <summary>
            Builds the property descriptors of a cached CIM class.
            </summary>
            <param name="definition">A schema entry as returned by <see cref="M:Microsoft365DSC.Cache.CacheManager.FilterLoadedCimClassesByName(System.String)"/>.</param>
            <returns>One object per declared property, in schema order. Empty when the class declares none.</returns>
        </member>
        <member name="M:Microsoft365DSC.Cache.CacheManager.ToStringArray(System.Object)">
            <summary>
            Renders a declared value list. A property with no allowed values yields an empty array.
            </summary>
        </member>
        <member name="T:Microsoft365DSC.Cache.ExportCollectionCache">
            <summary>
            Thread-safe, export-scoped cache of whole Microsoft Graph collections, filtered client-side on
            '@odata.type'. Disabled outside Export-M365DSCConfiguration. Entries are released when their last
            registered consumer completes.
            </summary>
        </member>
        <member name="P:Microsoft365DSC.Cache.ExportCollectionCache.IsEnabled">
            <summary>Whether an export session has enabled the cache.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.Reset">
            <summary>Clears every entry and disables the cache.</summary>
        </member>
        <member name="P:Microsoft365DSC.Cache.ExportCollectionCache.Keys">
            <summary>Keys currently tracked.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.TryGet(System.String,System.Object[]@)">
            <summary>Returns the cached items when enabled and populated.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.ShouldPopulate(System.String)">
            <summary>Whether the caller should download the whole collection.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.TrySet(System.String,System.Object[])">
            <summary>Stores the collection; first writer wins. Returns whether the items are cached.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.GetByODataType(System.String,System.String[],System.String[])">
            <summary>Cached items matching the include list and not the exclude list, or null when not served from the cache.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.FilterByODataType(System.Object[],System.String[],System.String[])">
            <summary>Filters items on their top-level '@odata.type'. An empty include list matches every item.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.FilterByProperty(System.Object[],System.String,System.String[])">
            <summary>Filters items on a top-level property. An empty property name or value list matches every item.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.RegisterConsumers(System.String,System.Int32)">
            <summary>Records how many resources will consume the collection.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.Release(System.String)">
            <summary>Decrements the consumer count and drops the entry at zero. Returns the remaining count.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.NormalizeODataType(System.String)">
            <summary>Strips the leading '#' and whitespace. Returns null for empty input.</summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.ExportCollectionCache.GetODataType(System.Object)">
            <summary>Reads the top-level '@odata.type' of a hashtable or PSObject item.</summary>
        </member>
        <member name="T:Microsoft365DSC.Cache.PartialExportWriter">
            <summary>
            Appends exported instances to the partial export file. The runspaces of a parallel export share
            one lock per file. The file name is unique per export, no other process writes to it.
            </summary>
        </member>
        <member name="M:Microsoft365DSC.Cache.PartialExportWriter.Append(System.String,System.String)">
            <summary>Appends content to the file as UTF-8.</summary>
            <param name="path">The partial export file.</param>
            <param name="content">The content to append.</param>
        </member>
        <member name="M:Microsoft365DSC.Cache.PartialExportWriter.Release(System.String)">
            <summary>Releases the lock kept for the file.</summary>
            <param name="path">The partial export file.</param>
        </member>
    </members>
</doc>