internal void ProcessRequest(NodeRequestInfo info, IRequestStatus requestStatus)
{
if (!this._initialized)
{
throw new Exception(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.NodeSyncManagerNotInitialized));
}
ScopeNode node = this.GetNode(info.ScopeNodeId);
if (node != null)
{
if (info is ExpandScopeNodeRequestInfo)
{
node.Expand(requestStatus);
}
else if (info is ActionNodeRequestInfo)
{
node.DoAction(((ActionNodeRequestInfo) info).ActionId, requestStatus);
}
else if (info is ReadSharedDataNodeRequestInfo)
{
node.GetSharedData((ReadSharedDataNodeRequestInfo) info, requestStatus);
}
else if (info is UpdateDataChangeNodeRequestInfo)
{
node.RequestSharedDataUpdate((UpdateDataChangeNodeRequestInfo) info, requestStatus);
}
else if (info is PagesForNodeRequestInfo)
{
node.GetPropertyPages(((PagesForNodeRequestInfo) info).SheetId, requestStatus);
}
else if ((((info is DeleteNodeRequestInfo) || (info is RefreshNodeRequestInfo)) || ((info is PrintNodeRequestInfo) || (info is RenameNodeRequestInfo))) || ((info is PasteNodeRequestInfo) || (info is CutOrMoveNodeRequestInfo)))
{
node.DoVerb(info, requestStatus);
}
else if (info is ExpandFromLoadScopeNodeRequestInfo)
{
ExpandFromLoadScopeNodeRequestResponse response = new ExpandFromLoadScopeNodeRequestResponse();
response.Handled = node.ExpandFromLoad(requestStatus);
requestStatus.ProcessResponse(response);
}
else if (info is ActivateNodeRequestInfo)
{
node.Activate(requestStatus);
}
}
}