void ReadSecurityDeclarations()
        {
            if (!m_tHeap.HasTable(DeclSecurityTable.RId))
            {
                return;
            }

            DeclSecurityTable dsTable = m_tableReader.GetDeclSecurityTable();

            for (int i = 0; i < dsTable.Rows.Count; i++)
            {
                DeclSecurityRow     dsRow = dsTable [i];
                SecurityDeclaration dec   = BuildSecurityDeclaration(dsRow);

                IHasSecurity owner = null;
                switch (dsRow.Parent.TokenType)
                {
                case TokenType.Assembly:
                    owner = this.Module.Assembly;
                    break;

                case TokenType.TypeDef:
                    owner = GetTypeDefAt(dsRow.Parent.RID);
                    break;

                case TokenType.Method:
                    owner = GetMethodDefAt(dsRow.Parent.RID);
                    break;
                }

                owner.SecurityDeclarations.Add(dec);
            }
        }
Exemple #2
0
        void RemoveSecurityDeclarations(IHasSecurity provider)
        {
            // also remove already existing CAS security declarations
            if (provider == null)
            {
                return;
            }

            if (!provider.HasSecurityDeclarations)
            {
                return;
            }

            provider.SecurityDeclarations.Clear();
        }
 public SecurityDeclarationCollection(IHasSecurity container)
 {
     m_container = container;
     m_items = new Hashtable ();
 }
Exemple #4
0
        void RemoveSecurityDeclarations(IHasSecurity provider)
        {
            // also remove already existing CAS security declarations
            if (provider == null)
                return;

            if (!provider.HasSecurityDeclarations)
                return;

            provider.SecurityDeclarations.Clear();
        }
 public SecurityDeclarationCollection(IHasSecurity container)
 {
     m_container = container;
     m_items     = new Hashtable();
 }