declaration_list
{ "{"
field_declaration
modifier
private "private"
modifier
const "const"
variable_declaration
predefined_type "string"
variable_declarator
identifier "ShortcutFileExtension"
= "="
string_literal
" "\""
string_literal_content ".mblink"
" "\""
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "ILogger"
type_argument_list
< "<"
identifier "LibraryManager"
> ">"
variable_declarator
identifier "_logger"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "ITaskManager"
variable_declarator
identifier "_taskManager"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IUserManager"
variable_declarator
identifier "_userManager"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IUserDataManager"
variable_declarator
identifier "_userDataManager"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IServerConfigurationManager"
variable_declarator
identifier "_configurationManager"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "Lazy"
type_argument_list
< "<"
identifier "ILibraryMonitor"
> ">"
variable_declarator
identifier "_libraryMonitorFactory"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "Lazy"
type_argument_list
< "<"
identifier "IProviderManager"
> ">"
variable_declarator
identifier "_providerManagerFactory"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "Lazy"
type_argument_list
< "<"
identifier "IUserViewManager"
> ">"
variable_declarator
identifier "_userViewManagerFactory"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IServerApplicationHost"
variable_declarator
identifier "_appHost"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IMediaEncoder"
variable_declarator
identifier "_mediaEncoder"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IFileSystem"
variable_declarator
identifier "_fileSystem"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IItemRepository"
variable_declarator
identifier "_itemRepository"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IImageProcessor"
variable_declarator
identifier "_imageProcessor"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "NamingOptions"
variable_declarator
identifier "_namingOptions"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IPeopleRepository"
variable_declarator
identifier "_peopleRepository"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "ExtraResolver"
variable_declarator
identifier "_extraResolver"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "IPathManager"
variable_declarator
identifier "_pathManager"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
generic_name
identifier "FastConcurrentLru"
type_argument_list
< "<"
identifier "Guid"
, ","
identifier "BaseItem"
> ">"
variable_declarator
identifier "_cache"
; ";"
comment "/// <summary>"
comment "/// The _root folder sync lock."
comment "/// </summary>"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "Lock"
variable_declarator
identifier "_rootFolderSyncLock"
= "="
implicit_object_creation_expression
new "new"
argument_list
( "("
) ")"
; ";"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "Lock"
variable_declarator
identifier "_userRootFolderSyncLock"
= "="
implicit_object_creation_expression
new "new"
argument_list
( "("
) ")"
; ";"
field_declaration (+21 nodes collapsed)
comment "/// <summary>"
comment "/// The _root folder."
comment "/// </summary>"
field_declaration
modifier
private "private"
modifier
volatile "volatile"
variable_declaration
nullable_type
identifier "AggregateFolder"
? "?"
variable_declarator
identifier "_rootFolder"
; ";"
field_declaration
modifier
private "private"
modifier
volatile "volatile"
variable_declaration
nullable_type
identifier "UserRootFolder"
? "?"
variable_declarator
identifier "_userRootFolder"
; ";"
field_declaration
modifier
private "private"
variable_declaration
predefined_type "bool"
variable_declarator
identifier "_wizardCompleted"
; ";"
comment "/// <summary>"
comment "/// Initializes a new instance of the <see cref=\"LibraryMana"...
comment "/// </summary>"
comment "/// <param name=\"appHost\">The application host.</param>"
comment "/// <param name=\"loggerFactory\">The logger factory.</param>"
comment "/// <param name=\"taskManager\">The task manager.</param>"
comment "/// <param name=\"userManager\">The user manager.</param>"
comment "/// <param name=\"configurationManager\">The configuration man"...
comment "/// <param name=\"userDataManager\">The user data manager.</pa"...
comment "/// <param name=\"libraryMonitorFactory\">The library monitor."...
comment "/// <param name=\"fileSystem\">The file system.</param>"
comment "/// <param name=\"providerManagerFactory\">The provider manage"...
comment "/// <param name=\"userViewManagerFactory\">The user view manag"...
comment "/// <param name=\"mediaEncoder\">The media encoder.</param>"
comment "/// <param name=\"itemRepository\">The item repository.</param"...
comment "/// <param name=\"imageProcessor\">The image processor.</param"...
comment "/// <param name=\"namingOptions\">The naming options.</param>"
comment "/// <param name=\"directoryService\">The directory service.</p"...
comment "/// <param name=\"peopleRepository\">The people repository.</p"...
comment "/// <param name=\"pathManager\">The path manager.</param>"
constructor_declaration (+278 nodes collapsed)
comment "/// <summary>"
comment "/// Occurs when [item added]."
comment "/// </summary>"
event_field_declaration
modifier
public "public"
event "event"
variable_declaration
nullable_type
generic_name
identifier "EventHandler"
type_argument_list
< "<"
identifier "ItemChangeEventArgs"
> ">"
? "?"
variable_declarator
identifier "ItemAdded"
; ";"
comment "/// <summary>"
comment "/// Occurs when [item updated]."
comment "/// </summary>"
event_field_declaration
modifier
public "public"
event "event"
variable_declaration
nullable_type
generic_name
identifier "EventHandler"
type_argument_list
< "<"
identifier "ItemChangeEventArgs"
> ">"
? "?"
variable_declarator
identifier "ItemUpdated"
; ";"
comment "/// <summary>"
comment "/// Occurs when [item removed]."
comment "/// </summary>"
event_field_declaration
modifier
public "public"
event "event"
variable_declaration
nullable_type
generic_name
identifier "EventHandler"
type_argument_list
< "<"
identifier "ItemChangeEventArgs"
> ">"
? "?"
variable_declarator
identifier "ItemRemoved"
; ";"
comment "/// <summary>"
comment "/// Gets the root folder."
comment "/// </summary>"
comment "/// <value>The root folder.</value>"
property_declaration (+47 nodes collapsed)
property_declaration
modifier
private "private"
identifier "ILibraryMonitor"
identifier "LibraryMonitor"
arrow_expression_clause
=> "=>"
member_access_expression
identifier "_libraryMonitorFactory"
. "."
identifier "Value"
; ";"
property_declaration
modifier
private "private"
identifier "IProviderManager"
identifier "ProviderManager"
arrow_expression_clause
=> "=>"
member_access_expression
identifier "_providerManagerFactory"
. "."
identifier "Value"
; ";"
property_declaration
modifier
private "private"
identifier "IUserViewManager"
identifier "UserViewManager"
arrow_expression_clause
=> "=>"
member_access_expression
identifier "_userViewManagerFactory"
. "."
identifier "Value"
; ";"
comment "/// <summary>"
comment "/// Gets or sets the postscan tasks."
comment "/// </summary>"
comment "/// <value>The postscan tasks.</value>"
property_declaration (+23 nodes collapsed)
comment "/// <summary>"
comment "/// Gets or sets the intro providers."
comment "/// </summary>"
comment "/// <value>The intro providers.</value>"
property_declaration (+23 nodes collapsed)
comment "/// <summary>"
comment "/// Gets or sets the list of entity resolution ignore rules."
comment "/// </summary>"
comment "/// <value>The entity resolution ignore rules.</value>"
property_declaration (+23 nodes collapsed)
comment "/// <summary>"
comment "/// Gets or sets the list of currently registered entity res"...
comment "/// </summary>"
comment "/// <value>The entity resolvers enumerable.</value>"
property_declaration (+23 nodes collapsed)
property_declaration (+23 nodes collapsed)
comment "/// <summary>"
comment "/// Gets or sets the comparers."
comment "/// </summary>"
comment "/// <value>The comparers.</value>"
property_declaration (+23 nodes collapsed)
property_declaration
modifier
public "public"
predefined_type "bool"
identifier "IsScanRunning"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
modifier
private "private"
set "set"
; ";"
} "}"
comment "/// <summary>"
comment "/// Adds the parts."
comment "/// </summary>"
comment "/// <param name=\"rules\">The rules.</param>"
comment "/// <param name=\"resolvers\">The resolvers.</param>"
comment "/// <param name=\"introProviders\">The intro providers.</param"...
comment "/// <param name=\"itemComparers\">The item comparers.</param>"
comment "/// <param name=\"postScanTasks\">The post scan tasks.</param>"
method_declaration (+160 nodes collapsed)
comment "/// <summary>"
comment "/// Records the configuration values."
comment "/// </summary>"
comment "/// <param name=\"configuration\">The configuration.</param>"
method_declaration (+23 nodes collapsed)
comment "/// <summary>"
comment "/// Configurations the updated."
comment "/// </summary>"
comment "/// <param name=\"sender\">The sender.</param>"
comment "/// <param name=\"e\">The <see cref=\"EventArgs\" /> instance co"...
method_declaration (+79 nodes collapsed)
method_declaration (+113 nodes collapsed)
method_declaration (+34 nodes collapsed)
method_declaration (+78 nodes collapsed)
method_declaration (+294 nodes collapsed)
method_declaration
modifier
public "public"
predefined_type "void"
identifier "DeleteItem"
parameter_list
( "("
parameter
identifier "BaseItem"
identifier "item"
, ","
parameter
identifier "DeleteOptions"
identifier "options"
, ","
parameter
identifier "BaseItem"
identifier "parent"
, ","
parameter
predefined_type "bool"
identifier "notifyParentItem"
) ")"
block
{ "{"
expression_statement
invocation_expression
member_access_expression
identifier "ArgumentNullException"
. "."
identifier "ThrowIfNull"
argument_list
( "("
argument
identifier "item"
) ")"
; ";"
if_statement (+82 nodes collapsed)
if_statement (+132 nodes collapsed)
local_declaration_statement (+36 nodes collapsed)
foreach_statement (+144 nodes collapsed)
if_statement (+82 nodes collapsed)
expression_statement
invocation_expression
member_access_expression
identifier "item"
. "."
identifier "SetParent"
argument_list
( "("
argument
null_literal "null"
) ")"
; ";"
expression_statement (+40 nodes collapsed)
expression_statement
invocation_expression
member_access_expression
identifier "_cache"
. "."
identifier "TryRemove"
argument_list
( "("
argument
member_access_expression
identifier "item"
. "."
identifier "Id"
, ","
argument
out "out"
identifier "_"
) ")"
; ";"
foreach_statement (+31 nodes collapsed)
expression_statement
invocation_expression
identifier "ReportItemRemoved"
argument_list
( "("
argument
identifier "item"
, ","
argument
identifier "parent"
) ")"
; ";"
} "}"
method_declaration (+325 nodes collapsed)
method_declaration (+226 nodes collapsed)
method_declaration (+77 nodes collapsed)
method_declaration (+202 nodes collapsed)
comment "/// <summary>"
comment "/// Resolves the item."
comment "/// </summary>"
comment "/// <param name=\"args\">The args.</param>"
comment "/// <param name=\"resolvers\">The resolvers.</param>"
comment "/// <returns>BaseItem.</returns>"
method_declaration (+119 nodes collapsed)
method_declaration (+89 nodes collapsed)
method_declaration (+35 nodes collapsed)
method_declaration (+193 nodes collapsed)
method_declaration (+58 nodes collapsed)
method_declaration (+468 nodes collapsed)
method_declaration (+47 nodes collapsed)
method_declaration (+284 nodes collapsed)
method_declaration (+69 nodes collapsed)
method_declaration (+303 nodes collapsed)
method_declaration (+194 nodes collapsed)
comment "/// <summary>"
comment "/// Creates the root media folder."
comment "/// </summary>"
comment "/// <returns>AggregateFolder.</returns>"
comment "/// <exception cref=\"InvalidOperationException\">Cannot creat"...
method_declaration (+498 nodes collapsed)
method_declaration (+341 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+117 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+81 nodes collapsed)
comment "/// <summary>"
comment "/// Gets the studio."
comment "/// </summary>"
comment "/// <param name=\"name\">The name.</param>"
comment "/// <returns>Task{Studio}.</returns>"
method_declaration (+46 nodes collapsed)
method_declaration (+38 nodes collapsed)
method_declaration (+38 nodes collapsed)
method_declaration (+38 nodes collapsed)
comment "/// <summary>"
comment "/// Gets the genre."
comment "/// </summary>"
comment "/// <param name=\"name\">The name.</param>"
comment "/// <returns>Task{Genre}.</returns>"
method_declaration (+46 nodes collapsed)
comment "/// <summary>"
comment "/// Gets the music genre."
comment "/// </summary>"
comment "/// <param name=\"name\">The name.</param>"
comment "/// <returns>Task{MusicGenre}.</returns>"
method_declaration (+46 nodes collapsed)
comment "/// <summary>"
comment "/// Gets the year."
comment "/// </summary>"
comment "/// <param name=\"value\">The value.</param>"
comment "/// <returns>Task{Year}.</returns>"
method_declaration (+101 nodes collapsed)
comment "/// <summary>"
comment "/// Gets a Genre."
comment "/// </summary>"
comment "/// <param name=\"name\">The name.</param>"
comment "/// <returns>Task{Genre}.</returns>"
method_declaration (+35 nodes collapsed)
method_declaration (+43 nodes collapsed)
method_declaration (+42 nodes collapsed)
method_declaration (+316 nodes collapsed)
method_declaration (+66 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+71 nodes collapsed)
comment "/// <summary>"
comment "/// Reloads the root media folder."
comment "/// </summary>"
comment "/// <param name=\"progress\">The progress.</param>"
comment "/// <param name=\"cancellationToken\">The cancellation token.<"...
comment "/// <returns>Task.</returns>"
method_declaration (+46 nodes collapsed)
comment "/// <summary>"
comment "/// Validates the media library internal."
comment "/// </summary>"
comment "/// <param name=\"progress\">The progress.</param>"
comment "/// <param name=\"cancellationToken\">The cancellation token.<"...
comment "/// <returns>Task.</returns>"
method_declaration (+93 nodes collapsed)
method_declaration (+393 nodes collapsed)
method_declaration (+237 nodes collapsed)
comment "/// <summary>"
comment "/// Runs the post scan tasks."
comment "/// </summary>"
comment "/// <param name=\"progress\">The progress.</param>"
comment "/// <param name=\"cancellationToken\">The cancellation token.<"...
comment "/// <returns>Task.</returns>"
method_declaration (+338 nodes collapsed)
comment "/// <summary>"
comment "/// Gets the default view."
comment "/// </summary>"
comment "/// <returns>IEnumerable{VirtualFolderInfo}.</returns>"
method_declaration (+27 nodes collapsed)
method_declaration (+143 nodes collapsed)
method_declaration (+460 nodes collapsed)
method_declaration (+121 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+121 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+63 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+79 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+71 nodes collapsed)
method_declaration (+213 nodes collapsed)
method_declaration (+33 nodes collapsed)
method_declaration (+134 nodes collapsed)
method_declaration (+134 nodes collapsed)
method_declaration (+114 nodes collapsed)
method_declaration (+121 nodes collapsed)
method_declaration (+121 nodes collapsed)
method_declaration (+109 nodes collapsed)
method_declaration (+64 nodes collapsed)
method_declaration (+82 nodes collapsed)
method_declaration (+82 nodes collapsed)
method_declaration (+82 nodes collapsed)
method_declaration (+82 nodes collapsed)
method_declaration (+82 nodes collapsed)
method_declaration (+260 nodes collapsed)
method_declaration (+82 nodes collapsed)
method_declaration (+184 nodes collapsed)
method_declaration (+222 nodes collapsed)
method_declaration (+235 nodes collapsed)
method_declaration (+456 nodes collapsed)
comment "/// <summary>"
comment "/// Gets the intros."
comment "/// </summary>"
comment "/// <param name=\"item\">The item.</param>"
comment "/// <param name=\"user\">The user.</param>"
comment "/// <returns>IEnumerable{System.String}.</returns>"
method_declaration (+159 nodes collapsed)
comment "/// <summary>"
comment "/// Gets the intros."
comment "/// </summary>"
comment "/// <param name=\"provider\">The provider.</param>"
comment "/// <param name=\"item\">The item.</param>"
comment "/// <param name=\"user\">The user.</param>"
comment "/// <returns>Task<IEnumerable<IntroInfo>>.</retu"...
method_declaration (+101 nodes collapsed)
comment "/// <summary>"
comment "/// Resolves the intro."
comment "/// </summary>"
comment "/// <param name=\"info\">The info.</param>"
comment "/// <returns>Video.</returns>"
method_declaration (+298 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+288 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+292 nodes collapsed)
comment "/// <summary>"
comment "/// Gets the comparer."
comment "/// </summary>"
comment "/// <param name=\"name\">The name.</param>"
comment "/// <param name=\"user\">The user.</param>"
comment "/// <returns>IBaseItemComparer.</returns>"
method_declaration (+129 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+43 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration
modifier
public "public"
predefined_type "void"
identifier "CreateItems"
parameter_list (+21 nodes collapsed)
block
{ "{"
expression_statement
invocation_expression
member_access_expression
identifier "_itemRepository"
. "."
identifier "SaveItems"
argument_list
( "("
argument
identifier "items"
, ","
argument
identifier "cancellationToken"
) ")"
; ";"
foreach_statement (+21 nodes collapsed)
if_statement (+116 nodes collapsed)
} "}"
method_declaration (+186 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+697 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration
modifier
public "public"
modifier
async "async"
identifier "Task"
identifier "UpdateItemsAsync"
parameter_list (+23 nodes collapsed)
block
{ "{"
foreach_statement (+61 nodes collapsed)
expression_statement
invocation_expression
member_access_expression
identifier "_itemRepository"
. "."
identifier "SaveItems"
argument_list
( "("
argument
identifier "items"
, ","
argument
identifier "cancellationToken"
) ")"
; ";"
if_statement (+111 nodes collapsed)
} "}"
comment "/// <inheritdoc />"
method_declaration (+47 nodes collapsed)
method_declaration (+88 nodes collapsed)
comment "/// <summary>"
comment "/// Reports the item removed."
comment "/// </summary>"
comment "/// <param name=\"item\">The item.</param>"
comment "/// <param name=\"parent\">The parent item.</param>"
method_declaration (+91 nodes collapsed)
comment "/// <summary>"
comment "/// Retrieves the item."
comment "/// </summary>"
comment "/// <param name=\"id\">The id.</param>"
comment "/// <returns>BaseItem.</returns>"
method_declaration (+27 nodes collapsed)
method_declaration (+51 nodes collapsed)
method_declaration (+171 nodes collapsed)
method_declaration (+108 nodes collapsed)
method_declaration (+87 nodes collapsed)
method_declaration (+97 nodes collapsed)
method_declaration (+87 nodes collapsed)
method_declaration (+30 nodes collapsed)
method_declaration (+30 nodes collapsed)
method_declaration (+56 nodes collapsed)
method_declaration (+145 nodes collapsed)
method_declaration (+206 nodes collapsed)
method_declaration (+53 nodes collapsed)
method_declaration (+341 nodes collapsed)
method_declaration (+513 nodes collapsed)
method_declaration (+422 nodes collapsed)
method_declaration (+576 nodes collapsed)
method_declaration (+98 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+26 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+80 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+827 nodes collapsed)
method_declaration (+95 nodes collapsed)
method_declaration (+656 nodes collapsed)
method_declaration (+79 nodes collapsed)
method_declaration (+32 nodes collapsed)
method_declaration (+81 nodes collapsed)
method_declaration (+157 nodes collapsed)
method_declaration (+32 nodes collapsed)
method_declaration (+55 nodes collapsed)
comment "/// <inheritdoc />"
method_declaration (+132 nodes collapsed)
method_declaration (+335 nodes collapsed)
method_declaration (+528 nodes collapsed)
method_declaration (+552 nodes collapsed)
method_declaration (+56 nodes collapsed)
method_declaration (+34 nodes collapsed)
method_declaration (+346 nodes collapsed)
method_declaration (+111 nodes collapsed)
method_declaration (+209 nodes collapsed)
method_declaration (+251 nodes collapsed)
method_declaration (+217 nodes collapsed)
method_declaration (+345 nodes collapsed)
method_declaration (+78 nodes collapsed)
} "}"