1 // Module interface. 2 // Copyright (C) 2008-2010 Malcolm Crowe, Lex Li, and other contributors. 3 // 4 // This library is free software; you can redistribute it and/or 5 // modify it under the terms of the GNU Lesser General Public 6 // License as published by the Free Software Foundation; either 7 // version 2.1 of the License, or (at your option) any later version. 8 // 9 // This library is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 // Lesser General Public License for more details. 13 // 14 // You should have received a copy of the GNU Lesser General Public 15 // License along with this library; if not, write to the Free Software 16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 18 /* 19 * Created by SharpDevelop. 20 * User: lextm 21 * Date: 5/1/2009 22 * Time: 10:40 AM 23 * 24 * To change this template use Tools | Options | Coding | Edit Standard Headers. 25 */ 26 using System.Collections.Generic; 27 using Lextm.SharpSnmpLib.Mib.Elements.Entities; 28 using Lextm.SharpSnmpLib.Mib.Elements.Types; 29 using Lextm.SharpSnmpLib.Mib.Elements; 30 31 namespace Lextm.SharpSnmpLib.Mib 32 { 33 /// <summary> 34 /// MIB Module interface. 35 /// </summary> 36 public interface IModule 37 { 38 /// <summary> 39 /// Module name. 40 /// </summary> 41 string Name 42 { 43 get; 44 } 45 46 Exports Exports 47 { 48 get; 49 } 50 51 Imports Imports 52 { 53 get; 54 } 55 56 /// <summary> 57 /// Entities + Types + all other elements implementing IDeclaration 58 /// </summary> 59 IList<IDeclaration> Declarations 60 { 61 get; 62 } 63 64 /// <summary> 65 /// Entities. 66 /// </summary> 67 IList<IEntity> Entities 68 { 69 get; 70 } 71 72 /// <summary> 73 /// Known types. 74 /// </summary> 75 IList<ITypeAssignment> Types 76 { 77 get; 78 } 79 80 } 81 } 82