Example #1
0
 private void AddTreeToInsertionList(InsertScopeNodesCommandWriter writer, ScopeNode[] nodeList, ref int currentNodesIndex, int index, ScopeNode[] nodes)
 {
     foreach (ScopeNode node in nodes)
     {
         if (this._nodes.ContainsKey(node.Id))
         {
             throw new Exception(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.NodeSyncManagerAddTreeToInsertionListNodeExistInOneLocation));
         }
         if (node == null)
         {
             throw new Exception(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.NodeSyncManagerInvalidNodeType));
         }
         ScopeNodeInsert insert = new ScopeNodeInsert();
         insert.NodeData = (ScopeNodeData) node.Data;
         ActionsPaneRootData data = new ActionsPaneRootData();
         data.Write(node.ActionsPaneItems.Data);
         insert.Actions = data;
         data = new ActionsPaneRootData();
         data.Write(node.ActionsPaneHelpItems.Data);
         insert.HelpActions = data;
         insert.InitialSharedData.SetAddedFormats(this.GenerateSharedDataFormatConfiguration(node));
         insert.InitialSharedData.SetUpdatedData(this.GenerateClipboardData(node));
         if (node.Parent != null)
         {
             insert.ParentScopeNodeId = node.Parent.Id;
         }
         insert.InsertionIndex = index;
         writer.WriteScopeNodeInsert(insert);
         nodeList[currentNodesIndex++] = node;
         index++;
         if (node.Children.Count > 0)
         {
             this.AddTreeToInsertionList(writer, nodeList, ref currentNodesIndex, 0, node.Children.ToArray());
         }
     }
 }
Example #2
0
 internal void OnNodeSharedDataChanged(object sender, WritableSharedDataChangedEventArgs e)
 {
     if (!this._initialized)
     {
         throw new Exception(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.NodeSyncManagerNotInitialized));
     }
     ScopeNode node = sender as ScopeNode;
     if (node == null)
     {
         throw new ArgumentException(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.NodeSyncManagerOnNodeSharedDataChangedScopeNodeExpected), "sender");
     }
     WritableSharedDataItem sharedDataItem = e.SharedDataItem;
     if (sharedDataItem == null)
     {
         throw new Exception(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.NodeSyncManagerOnNodeSharedDataChangedWritableSharedDataItemExpected));
     }
     bool flag = false;
     UpdateScopeNodeCommand command = new UpdateScopeNodeCommand();
     command.NodeData = (ScopeNodeData) node.Data;
     ActionsPaneRootData data = new ActionsPaneRootData();
     data.Write(node.ActionsPaneItems.Data);
     command.Actions = data;
     data = new ActionsPaneRootData();
     data.Write(node.ActionsPaneHelpItems.Data);
     command.HelpActions = data;
     switch (e.ChangeType)
     {
         case WritableSharedDataChangeType.Add:
         case WritableSharedDataChangeType.Modify:
         {
             DataFormatConfiguration configuration = new DataFormatConfiguration();
             configuration.ClipboardFormatId = sharedDataItem.ClipboardFormatId;
             configuration.RequiresQuery = sharedDataItem.RequiresCallback;
             SharedDataObjectUpdate update = new SharedDataObjectUpdate();
             if (!sharedDataItem.RequiresCallback)
             {
                 ClipboardData data2 = new ClipboardData();
                 data2.ClipboardFormatId = sharedDataItem.ClipboardFormatId;
                 data2.SetValue(sharedDataItem.GetData());
                 ClipboardData[] updatedData = new ClipboardData[] { data2 };
                 update.SetUpdatedData(updatedData);
             }
             command.UpdatedSharedData = update;
             if (e.ChangeType == WritableSharedDataChangeType.Add)
             {
                 DataFormatConfiguration[] addedFormats = new DataFormatConfiguration[] { configuration };
                 command.UpdatedSharedData.SetAddedFormats(addedFormats);
             }
             else
             {
                 DataFormatConfiguration[] changedFormats = new DataFormatConfiguration[] { configuration };
                 command.UpdatedSharedData.SetChangedFormats(changedFormats);
             }
             flag = true;
             break;
         }
         case WritableSharedDataChangeType.Remove:
             command.UpdatedSharedData.SetRemovedClipboardFormatIds(new string[] { sharedDataItem.ClipboardFormatId });
             flag = true;
             break;
     }
     if (flag)
     {
         this._snapInPlatform.ProcessCommand(command);
     }
 }
Example #3
0
 internal void OnNodeChanged(object sender, NodeChangedEventArgs e)
 {
     if (!this._initialized)
     {
         throw new Exception(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.NodeSyncManagerNotInitialized));
     }
     if (!(e.Source is ScopeNode))
     {
         throw new Exception(Microsoft.ManagementConsole.Internal.Utility.LoadResourceString(Microsoft.ManagementConsole.Internal.Strings.NodeSyncManagerInvalidNodeType));
     }
     UpdateScopeNodeCommand command = new UpdateScopeNodeCommand();
     command.NodeData = (ScopeNodeData) e.Source.Data;
     ActionsPaneRootData data = new ActionsPaneRootData();
     data.Write(((ScopeNode) e.Source).ActionsPaneItems.Data);
     command.Actions = data;
     data = new ActionsPaneRootData();
     data.Write(((ScopeNode) e.Source).ActionsPaneHelpItems.Data);
     command.HelpActions = data;
     this._snapInPlatform.ProcessCommand(command);
 }
 private ActionsPaneRootData ReadNextActions()
 {
     ActionsPaneRootData data = new ActionsPaneRootData();
     int length = this._source.Get_Actions_Id_Count()[this._currentIndex];
     int[] destinationArray = null;
     if (length >= 0)
     {
         destinationArray = new int[length];
         Array.Copy(this._source.Get_Actions_Id(), this._Actions_Id_Offset, destinationArray, 0, length);
         this._Actions_Id_Offset += length;
     }
     data.SetId(destinationArray);
     int num2 = this._source.Get_Actions_ItemType_Count()[this._currentIndex];
     ActionsPaneRootItemType[] typeArray = null;
     if (num2 >= 0)
     {
         typeArray = new ActionsPaneRootItemType[num2];
     }
     int index = 0;
     for (index = 0; index < num2; index++)
     {
         typeArray[index] = (ActionsPaneRootItemType) this._source.Get_Actions_ItemType()[this._Actions_ItemType_Offset];
         this._Actions_ItemType_Offset++;
     }
     data.SetItemType(typeArray);
     int num4 = this._source.Get_Actions_InsertionLocation_Count()[this._currentIndex];
     ActionsInsertionLocation[] locationArray = null;
     if (num4 >= 0)
     {
         locationArray = new ActionsInsertionLocation[num4];
     }
     int num5 = 0;
     for (num5 = 0; num5 < num4; num5++)
     {
         locationArray[num5] = (ActionsInsertionLocation) this._source.Get_Actions_InsertionLocation()[this._Actions_InsertionLocation_Offset];
         this._Actions_InsertionLocation_Offset++;
     }
     data.SetInsertionLocation(locationArray);
     int num6 = this._source.Get_Actions_DisplayName_Count()[this._currentIndex];
     string[] strArray = null;
     if (num6 >= 0)
     {
         strArray = new string[num6];
     }
     int num7 = 0;
     for (num7 = 0; num7 < num6; num7++)
     {
         strArray[num7] = this._strings.ReadString();
         this._Actions_DisplayName_Offset++;
     }
     data.SetDisplayName(strArray);
     int num8 = this._source.Get_Actions_MnemonicDisplayName_Count()[this._currentIndex];
     string[] strArray2 = null;
     if (num8 >= 0)
     {
         strArray2 = new string[num8];
     }
     int num9 = 0;
     for (num9 = 0; num9 < num8; num9++)
     {
         strArray2[num9] = this._strings.ReadString();
         this._Actions_MnemonicDisplayName_Offset++;
     }
     data.SetMnemonicDisplayName(strArray2);
     int num10 = this._source.Get_Actions_Description_Count()[this._currentIndex];
     string[] strArray3 = null;
     if (num10 >= 0)
     {
         strArray3 = new string[num10];
     }
     int num11 = 0;
     for (num11 = 0; num11 < num10; num11++)
     {
         strArray3[num11] = this._strings.ReadString();
         this._Actions_Description_Offset++;
     }
     data.SetDescription(strArray3);
     int num12 = this._source.Get_Actions_LanguageIndependentName_Count()[this._currentIndex];
     string[] strArray4 = null;
     if (num12 >= 0)
     {
         strArray4 = new string[num12];
     }
     int num13 = 0;
     for (num13 = 0; num13 < num12; num13++)
     {
         strArray4[num13] = this._strings.ReadString();
         this._Actions_LanguageIndependentName_Offset++;
     }
     data.SetLanguageIndependentName(strArray4);
     int num14 = this._source.Get_Actions_ImageIndex_Count()[this._currentIndex];
     int[] numArray2 = null;
     if (num14 >= 0)
     {
         numArray2 = new int[num14];
         Array.Copy(this._source.Get_Actions_ImageIndex(), this._Actions_ImageIndex_Offset, numArray2, 0, num14);
         this._Actions_ImageIndex_Offset += num14;
     }
     data.SetImageIndex(numArray2);
     int num15 = this._source.Get_Actions_State_Count()[this._currentIndex];
     ActionStates[] statesArray = null;
     if (num15 >= 0)
     {
         statesArray = new ActionStates[num15];
     }
     int num16 = 0;
     for (num16 = 0; num16 < num15; num16++)
     {
         statesArray[num16] = (ActionStates) this._source.Get_Actions_State()[this._Actions_State_Offset];
         this._Actions_State_Offset++;
     }
     data.SetState(statesArray);
     int num17 = this._source.Get_Actions_ExecuteSync_Count()[this._currentIndex];
     bool[] flagArray = null;
     if (num17 >= 0)
     {
         flagArray = new bool[num17];
         Array.Copy(this._source.Get_Actions_ExecuteSync(), this._Actions_ExecuteSync_Offset, flagArray, 0, num17);
         this._Actions_ExecuteSync_Offset += num17;
     }
     data.SetExecuteSync(flagArray);
     int num18 = this._source.Get_Actions_RenderAsRegion_Count()[this._currentIndex];
     bool[] flagArray2 = null;
     if (num18 >= 0)
     {
         flagArray2 = new bool[num18];
         Array.Copy(this._source.Get_Actions_RenderAsRegion(), this._Actions_RenderAsRegion_Offset, flagArray2, 0, num18);
         this._Actions_RenderAsRegion_Offset += num18;
     }
     data.SetRenderAsRegion(flagArray2);
     int num19 = this._source.Get_Actions_ItemsCount_Count()[this._currentIndex];
     int[] numArray3 = null;
     if (num19 >= 0)
     {
         numArray3 = new int[num19];
         Array.Copy(this._source.Get_Actions_ItemsCount(), this._Actions_ItemsCount_Offset, numArray3, 0, num19);
         this._Actions_ItemsCount_Offset += num19;
     }
     data.SetItemsCount(numArray3);
     return data;
 }
Example #5
0
 internal void SetActionData(ActionsPaneRootData actionsPaneRootData)
 {
     ActionsPaneItemCollectionData actionsData = actionsPaneRootData.Read();
 }
 private void WriteNextHelpActions(ActionsPaneRootData obj)
 {
     int[] id = obj.GetId();
     int length = -1;
     if (id != null)
     {
         this._HelpActions_Id.AddRange(id);
         length = id.Length;
     }
     this._HelpActions_Id_Count[this._currentIndex] = length;
     ActionsPaneRootItemType[] itemType = obj.GetItemType();
     int num2 = -1;
     if (itemType != null)
     {
         num2 = itemType.Length;
         int index = 0;
         for (index = 0; index < num2; index++)
         {
             this._HelpActions_ItemType.Add((int) itemType[index]);
         }
     }
     this._HelpActions_ItemType_Count[this._currentIndex] = num2;
     ActionsInsertionLocation[] insertionLocation = obj.GetInsertionLocation();
     int num4 = -1;
     if (insertionLocation != null)
     {
         num4 = insertionLocation.Length;
         int num5 = 0;
         for (num5 = 0; num5 < num4; num5++)
         {
             this._HelpActions_InsertionLocation.Add((int) insertionLocation[num5]);
         }
     }
     this._HelpActions_InsertionLocation_Count[this._currentIndex] = num4;
     string[] displayName = obj.GetDisplayName();
     int num6 = -1;
     if (displayName != null)
     {
         num6 = displayName.Length;
         int num7 = 0;
         for (num7 = 0; num7 < num6; num7++)
         {
             this.WriteString(displayName[num7]);
         }
     }
     this._HelpActions_DisplayName_Count[this._currentIndex] = num6;
     string[] mnemonicDisplayName = obj.GetMnemonicDisplayName();
     int num8 = -1;
     if (mnemonicDisplayName != null)
     {
         num8 = mnemonicDisplayName.Length;
         int num9 = 0;
         for (num9 = 0; num9 < num8; num9++)
         {
             this.WriteString(mnemonicDisplayName[num9]);
         }
     }
     this._HelpActions_MnemonicDisplayName_Count[this._currentIndex] = num8;
     string[] description = obj.GetDescription();
     int num10 = -1;
     if (description != null)
     {
         num10 = description.Length;
         int num11 = 0;
         for (num11 = 0; num11 < num10; num11++)
         {
             this.WriteString(description[num11]);
         }
     }
     this._HelpActions_Description_Count[this._currentIndex] = num10;
     string[] languageIndependentName = obj.GetLanguageIndependentName();
     int num12 = -1;
     if (languageIndependentName != null)
     {
         num12 = languageIndependentName.Length;
         int num13 = 0;
         for (num13 = 0; num13 < num12; num13++)
         {
             this.WriteString(languageIndependentName[num13]);
         }
     }
     this._HelpActions_LanguageIndependentName_Count[this._currentIndex] = num12;
     int[] imageIndex = obj.GetImageIndex();
     int num14 = -1;
     if (imageIndex != null)
     {
         this._HelpActions_ImageIndex.AddRange(imageIndex);
         num14 = imageIndex.Length;
     }
     this._HelpActions_ImageIndex_Count[this._currentIndex] = num14;
     ActionStates[] state = obj.GetState();
     int num15 = -1;
     if (state != null)
     {
         num15 = state.Length;
         int num16 = 0;
         for (num16 = 0; num16 < num15; num16++)
         {
             this._HelpActions_State.Add((int) state[num16]);
         }
     }
     this._HelpActions_State_Count[this._currentIndex] = num15;
     bool[] executeSync = obj.GetExecuteSync();
     int num17 = -1;
     if (executeSync != null)
     {
         this._HelpActions_ExecuteSync.AddRange(executeSync);
         num17 = executeSync.Length;
     }
     this._HelpActions_ExecuteSync_Count[this._currentIndex] = num17;
     bool[] renderAsRegion = obj.GetRenderAsRegion();
     int num18 = -1;
     if (renderAsRegion != null)
     {
         this._HelpActions_RenderAsRegion.AddRange(renderAsRegion);
         num18 = renderAsRegion.Length;
     }
     this._HelpActions_RenderAsRegion_Count[this._currentIndex] = num18;
     int[] itemsCount = obj.GetItemsCount();
     int num19 = -1;
     if (itemsCount != null)
     {
         this._HelpActions_ItemsCount.AddRange(itemsCount);
         num19 = itemsCount.Length;
     }
     this._HelpActions_ItemsCount_Count[this._currentIndex] = num19;
 }