#
# Autogenerated by Thrift Compiler (0.9.2)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
#

require 'thrift'

module TestNamespace
  class Goodbyez
    include ::Thrift::Struct, ::Thrift::Struct_Union
    VAL = 1

    FIELDS = {
      VAL => {:type => ::Thrift::Types::I32, :name => 'val', :default => 325}
    }

    def struct_fields; FIELDS; end

    def validate
    end

    ::Thrift::Struct.generate_accessors self
  end

  class BoolPasser
    include ::Thrift::Struct, ::Thrift::Struct_Union
    VALUE = 1

    FIELDS = {
      VALUE => {:type => ::Thrift::Types::BOOL, :name => 'value', :default => true}
    }

    def struct_fields; FIELDS; end

    def validate
    end

    ::Thrift::Struct.generate_accessors self
  end

  class Hello
    include ::Thrift::Struct, ::Thrift::Struct_Union
    SIMPLE = 1
    COMPLEX = 2
    COMPLEXER = 3
    WORDS = 4
    THINZ = 5

    FIELDS = {
      SIMPLE => {:type => ::Thrift::Types::I32, :name => 'simple', :default => 53},
      COMPLEX => {:type => ::Thrift::Types::MAP, :name => 'complex', :default => {
        23 => 532,
        6243 => 632,
        2355 => 532,
      }, :key => {:type => ::Thrift::Types::I32}, :value => {:type => ::Thrift::Types::I32}},
      COMPLEXER => {:type => ::Thrift::Types::MAP, :name => 'complexer', :key => {:type => ::Thrift::Types::I32}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32}, :value => {:type => ::Thrift::Types::I32}}},
      WORDS => {:type => ::Thrift::Types::STRING, :name => 'words', :default => %q"words"},
      THINZ => {:type => ::Thrift::Types::STRUCT, :name => 'thinz', :default => ::TestNamespace::Goodbyez.new({
        %q"val" => 36632,
      }), :class => ::TestNamespace::Goodbyez}
    }

    def struct_fields; FIELDS; end

    def validate
    end

    ::Thrift::Struct.generate_accessors self
  end

  class Goodbye < ::Thrift::Exception
    include ::Thrift::Struct, ::Thrift::Struct_Union
    SIMPLE = 1
    COMPLEX = 2
    COMPLEXER = 3

    FIELDS = {
      SIMPLE => {:type => ::Thrift::Types::I32, :name => 'simple'},
      COMPLEX => {:type => ::Thrift::Types::MAP, :name => 'complex', :key => {:type => ::Thrift::Types::I32}, :value => {:type => ::Thrift::Types::I32}},
      COMPLEXER => {:type => ::Thrift::Types::MAP, :name => 'complexer', :key => {:type => ::Thrift::Types::I32}, :value => {:type => ::Thrift::Types::MAP, :key => {:type => ::Thrift::Types::I32}, :value => {:type => ::Thrift::Types::I32}}}
    }

    def struct_fields; FIELDS; end

    def validate
    end

    ::Thrift::Struct.generate_accessors self
  end

end
