Beispiel #1
0
		public static BEREncoding Create(ASN1TAG TAG, ExperimentalObject valueObject) 
		{
			byte[] tag_Octets = MakeIdOctets(TAG);

		    byte[] value_Octets;

	
			if (TAG.IsExplicit())
			{
				value_Octets = (valueObject.asDER()).GetBERCode();
			}
			else 
			{
				value_Octets = valueObject.Get_BER_Value_Octets()
			}

			return new BEREncoding(tag_Octets, value_Octets);
		}
		public static ComponentTypeInfo Make(ExperimentalType tip, bool optional, ExperimentalObject defaultValue)
		{
			return new ComponentTypeInfo(tip, optional, defaultValue);
		}
		public ComponentTypeInfo(ExperimentalType tip, ExperimentalObject defaultValue)
		{
			this.Type = tip;
			this.isOptional = false;
			this.DefaultValue = defaultValue;
		}
		public override void Visit(mASN1CommonDenominator ob) 
		{
			ProcessTAG(ob.TAG);
			
			currentInstance = (ob as ExperimentalType).Instance();

			if (currentInstance == null) 
			{
				//DIZI FRKU!
			}
		

			ob.acceptVisitor(this);	
		}
		private void PushInstance(ExperimentalObject instance) 
		{
			instances.Push(instance);
		}
		public void Encode(ExperimentalObject ob)  
		{

			this.Visit(ob);
//			this.Visit(ob);
//
//			TLVNode node = stack.Pop() as TLVNode;
//			ArrayList byteList = node.ReturnTLV();

			
			//TODO:
			//throw new NotImplementedException();
		}