}// AddMenuItems internal override void MenuCommand(int nCommandID, Object oResultItem) { if (nCommandID == COMMANDS.DUPLICATE_PERMISSIONSET) { NamedPermissionSet nps = (NamedPermissionSet)m_psetWrapper.PSet.Copy(); String sBaseName = nps.Name; nps.Name = String.Format(CResourceStore.GetString("CSinglePermissionSet:PrependtoDupPSets"), nps.Name); int nCounter = 1; // make sure it's not already used while (Security.isPermissionSetNameUsed(m_pl, nps.Name)) { nCounter++; nps.Name = String.Format(CResourceStore.GetString("CSinglePermissionSet:NumPrependtoDupPSets"), nCounter.ToString(), sBaseName); } CNode node = CNodeManager.GetNodeByHScope(ParentHScopeItem); CSinglePermissionSet newNode = ((CPermissionSet)node).AddPermissionSet(nps); newNode.SecurityPolicyChanged(); // Put the selection on the new permission set we just created CNodeManager.SelectScopeItem(newNode.HScopeItem); } else if (nCommandID == COMMANDS.VIEW_PERMISSION) { int iResultItem = (int)oResultItem - 1; // Pop up the Dialog Box for this permission (new CReadOnlyPermission((IPermission)m_alPermissions[iResultItem])).ShowDialog(); } else if (nCommandID == COMMANDS.ADD_PERMISSIONS) { CAddPermissionsWizard wiz = new CAddPermissionsWizard(m_psetWrapper); wiz.LaunchWizard(Cookie); if (wiz.didFinish) { SecurityPolicyChanged(); GenerateGivenPermissionsStringList(); CNodeManager.Console.SelectScopeItem(HScopeItem); } } else if (nCommandID == COMMANDS.SHOW_LISTVIEW) { m_oResults = this; RefreshResultView(); m_fShowHTMLPage = false; } else if (nCommandID == COMMANDS.SHOW_TASKPAD) { m_oResults = m_taskpad; m_fShowHTMLPage = true; // The HTML pages comes displayed with this checkbox marked. Make // sure we update the xml setting CConfigStore.SetSetting("ShowHTMLForPermissionSet", "yes"); RefreshResultView(); } }// MenuCommand
}// CreateChildren internal CSinglePermissionSet AddPermissionSet(NamedPermissionSet nps) { // Make sure we have a unique permission set name int nCounter = 1; String sBase = nps.Name; while (Security.isPermissionSetNameUsed(m_pl, nps.Name)) { if (nCounter == 1) { nps.Name = String.Format(CResourceStore.GetString("CSinglePermissionSet:NewDupPermissionSet"), sBase); } else { nps.Name = String.Format(CResourceStore.GetString("CSinglePermissionSet:NumNewDupPermissionSet"), nCounter.ToString(), sBase); } nCounter++; } // Now add the new permission set m_pl.AddNamedPermissionSet(nps); CNode node = new CSinglePermissionSet(nps, m_pl, ReadOnly); int nCookie = CNodeManager.AddNode(ref node); AddChild(nCookie); InsertSpecificChild(nCookie); // Return the node we created return((CSinglePermissionSet)node); } // AddPermissionSet
}// doAcceptPaste internal override int Paste(IDataObject ido) { // Make sure the permission set is ok to use.... if (ido is CDO) { CDO cdo = (CDO)ido; if (cdo.Node is CSinglePermissionSet) { CSinglePermissionSet sps = (CSinglePermissionSet)cdo.Node; AddPermissionSet(sps.PSet.Copy(sps.PSet.Name)); } } return(HRESULT.S_OK); }// Paste
}// Paste //------------------------------------------------- // CreateChildren // // This function creates the node's children, registers // the nodes with the node manager, and places the node's // cookies in it's child array //------------------------------------------------- internal override void CreateChildren() { CNode node = null; int iCookie = 0; // Let's scrounge together a permission set enumerator IEnumerator permsetEnumerator = m_pl.NamedPermissionSets.GetEnumerator(); while (permsetEnumerator.MoveNext()) { NamedPermissionSet permSet = (NamedPermissionSet)permsetEnumerator.Current; node = new CSinglePermissionSet(permSet, m_pl, ReadOnly); iCookie = CNodeManager.AddNode(ref node); AddChild(iCookie); } }// CreateChildren
internal CSinglePermSetTaskPad(CSinglePermissionSet n) : base(n) { m_ps = n.PSet; m_fReadOnly = n.ReadOnly; }// CSinglePermSetTaskPad