
package pokerth_protocol;
//
// This file was generated by the BinaryNotes compiler.
// See http://bnotes.sourceforge.net 
// Any modifications to this file will be lost upon recompilation of the source ASN.1. 
//

import org.bn.*;
import org.bn.annotations.*;
import org.bn.annotations.constraints.*;
import org.bn.coders.*;
import org.bn.types.*;




    @ASN1PreparedElement
    @ASN1BoxedType ( name = "YourActionRejectedMessage" )
    public class YourActionRejectedMessage implements IASN1PreparedElement {
                
        

       @ASN1PreparedElement
       @ASN1Sequence ( name = "YourActionRejectedMessage" , isSet = false )
       public static class YourActionRejectedMessageSequenceType implements IASN1PreparedElement {
                
        @ASN1Element ( name = "gameId", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private NonZeroId gameId = null;
                
  
        @ASN1Element ( name = "gameState", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private NetGameState gameState = null;
                
  
        @ASN1Element ( name = "yourAction", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private NetPlayerAction yourAction = null;
                
  
        @ASN1Element ( name = "yourRelativeBet", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private AmountOfMoney yourRelativeBet = null;
                
  

    @ASN1PreparedElement
    @ASN1Enum (
        name = "RejectionReasonEnumType"
    )
    public static class RejectionReasonEnumType implements IASN1PreparedElement {        
        public enum EnumType {
            
            @ASN1EnumItem ( name = "rejectedInvalidGameState", hasTag = true , tag = 1 )
            rejectedInvalidGameState , 
            @ASN1EnumItem ( name = "rejectedNotYourTurn", hasTag = true , tag = 2 )
            rejectedNotYourTurn , 
            @ASN1EnumItem ( name = "rejectedActionNotAllowed", hasTag = true , tag = 3 )
            rejectedActionNotAllowed , 
        }
        
        private EnumType value;
        private Integer integerForm;
        
        public EnumType getValue() {
            return this.value;
        }
        
        public void setValue(EnumType value) {
            this.value = value;
        }
        
        public Integer getIntegerForm() {
            return integerForm;
        }
        
        public void setIntegerForm(Integer value) {
            integerForm = value;
        }

	    public void initWithDefaults() {
	    }

        private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(RejectionReasonEnumType.class);
        public IASN1PreparedElementData getPreparedData() {
            return preparedData;
        }

    }
                
        @ASN1Element ( name = "rejectionReason", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private RejectionReasonEnumType rejectionReason = null;
                
  
        
        public NonZeroId getGameId () {
            return this.gameId;
        }

        

        public void setGameId (NonZeroId value) {
            this.gameId = value;
        }
        
  
        
        public NetGameState getGameState () {
            return this.gameState;
        }

        

        public void setGameState (NetGameState value) {
            this.gameState = value;
        }
        
  
        
        public NetPlayerAction getYourAction () {
            return this.yourAction;
        }

        

        public void setYourAction (NetPlayerAction value) {
            this.yourAction = value;
        }
        
  
        
        public AmountOfMoney getYourRelativeBet () {
            return this.yourRelativeBet;
        }

        

        public void setYourRelativeBet (AmountOfMoney value) {
            this.yourRelativeBet = value;
        }
        
  
        
        public RejectionReasonEnumType getRejectionReason () {
            return this.rejectionReason;
        }

        

        public void setRejectionReason (RejectionReasonEnumType value) {
            this.rejectionReason = value;
        }
        
  
                
                
        public void initWithDefaults() {
            
        }

        public IASN1PreparedElementData getPreparedData() {
            return preparedData_YourActionRejectedMessageSequenceType;
        }

       private static IASN1PreparedElementData preparedData_YourActionRejectedMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(YourActionRejectedMessageSequenceType.class);
                
       }

       
                
        @ASN1Element ( name = "YourActionRejectedMessage", isOptional =  false , hasTag =  true, tag = 26, 
        tagClass =  TagClass.Application  , hasDefaultValue =  false  )
    
        private YourActionRejectedMessageSequenceType  value;        

        
        
        public YourActionRejectedMessage () {
        }
        
        
        
        public void setValue(YourActionRejectedMessageSequenceType value) {
            this.value = value;
        }
        
        
        
        public YourActionRejectedMessageSequenceType getValue() {
            return this.value;
        }            
        

	    public void initWithDefaults() {
	    }

        private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(YourActionRejectedMessage.class);
        public IASN1PreparedElementData getPreparedData() {
            return preparedData;
        }

            
    }
            