text: #ifndef DER_IFF_TYPE_4_FOP_PARAM2__H
  #define DER_IFF_TYPE_4_FOP_PARAM2__H
  
  #include <string>
  #include <disenum/Enumeration.h>
  
  namespace DIS {
  
  namespace der_iff_type_4_fop_param2 {
  
  	/** Bitmask declaration **/
  	struct bitmask {
      unsigned int unused:13;
      unsigned int Status:1;
      unsigned int Damage:1;
      unsigned int Malfunction:1;
  
      bitmask& operator=(const unsigned short& i);
  	  bitmask(const unsigned short& i);
  	  bitmask();
  	  unsigned short getValue();
  	  void  setValue(const unsigned short& i);
  	};
  
  	/** Enumerations declaration **/
  	class Status : public Enumeration {
    public:
      static Status OFF;
      static Status ON;
  
  		/** Returns the string description associated with the enumerated instance with this value.
  		 * If there is no enumerated instance for this value, the string Invalid enumeration: <val> is returned.     */
  		static std::string getDescriptionForValue(int aVal);
  
  		/** Returns the enumerated instance with this value.
  		 * If there is no enumerated instance for this value, the exception is thrown.     */
  		static Status getEnumerationForValue(int aVal) throw(EnumException);
  
  		/** Returns true if there is an enumerated instance for this value, false otherwise. */
  		static bool enumerationForValueExists(int aVal);
  
  		typedef hashMap<int,Status*> enumContainer;
  		static enumContainer getEnumerations();
  
  		/** Returns the start bit number for this subfield */
  		static short  getStartBit() { return startBit; };
  
  		/** Returns the end bit number for this subfield */
  		static short  getEndBit()   { return endBit;   };
  
  
  	private:
  		/** Constructor */
  		Status(int value, std::string description);
  
  		static Status* findEnumeration(int aVal);
  		static enumContainer enumerations;
  
  		static short startBit;
  		static short endBit;
  
  	};  /* Status */
  
  	class Damage : public Enumeration {
    public:
      static Damage NO_DAMAGE;
      static Damage DAMAGE;
  
  		/** Returns the string description associated with the enumerated instance with this value.
  		 * If there is no enumerated instance for this value, the string Invalid enumeration: <val> is returned.     */
  		static std::string getDescriptionForValue(int aVal);
  
  		/** Returns the enumerated instance with this value.
  		 * If there is no enumerated instance for this value, the exception is thrown.     */
  		static Damage getEnumerationForValue(int aVal) throw(EnumException);
  
  		/** Returns true if there is an enumerated instance for this value, false otherwise. */
  		static bool enumerationForValueExists(int aVal);
  
  		typedef hashMap<int,Damage*> enumContainer;
  		static enumContainer getEnumerations();
  
  		/** Returns the start bit number for this subfield */
  		static short  getStartBit() { return startBit; };
  
  		/** Returns the end bit number for this subfield */
  		static short  getEndBit()   { return endBit;   };
  
  
  	private:
  		/** Constructor */
  		Damage(int value, std::string description);
  
  		static Damage* findEnumeration(int aVal);
  		static enumContainer enumerations;
  
  		static short startBit;
  		static short endBit;
  
  	};  /* Damage */
  
  	class Malfunction : public Enumeration {
    public:
      static Malfunction NO_MALFUNCTION;
      static Malfunction MALFUNCTION;
  
  		/** Returns the string description associated with the enumerated instance with this value.
  		 * If there is no enumerated instance for this value, the string Invalid enumeration: <val> is returned.     */
  		static std::string getDescriptionForValue(int aVal);
  
  		/** Returns the enumerated instance with this value.
  		 * If there is no enumerated instance for this value, the exception is thrown.     */
  		static Malfunction getEnumerationForValue(int aVal) throw(EnumException);
  
  		/** Returns true if there is an enumerated instance for this value, false otherwise. */
  		static bool enumerationForValueExists(int aVal);
  
  		typedef hashMap<int,Malfunction*> enumContainer;
  		static enumContainer getEnumerations();
  
  		/** Returns the start bit number for this subfield */
  		static short  getStartBit() { return startBit; };
  
  		/** Returns the end bit number for this subfield */
  		static short  getEndBit()   { return endBit;   };
  
  
  	private:
  		/** Constructor */
  		Malfunction(int value, std::string description);
  
  		static Malfunction* findEnumeration(int aVal);
  		static enumContainer enumerations;
  
  		static short startBit;
  		static short endBit;
  
  	};  /* Malfunction */
  
  
  
  
  }; /* namespace der_iff_type_4_fop_param2 */
  
  }  /* namespace DIS */
  
  #endif /* DER_IFF_TYPE_4_FOP_PARAM2__H */
  