// This file is autogenerated. Do not edit.
// To make changes to this file, edit codegen.rb and/or codegen.erb and run make
<% classes.each do |klass| %>
#[allow(unused_imports)]
#[allow(missing_copy_implementations)]
pub mod <%= klass["name"] %> {
use bit_vec::BitVec;
use table::{Table, decode_table, encode_table};
use framing::{ContentHeaderFrame, MethodFrame};
use amqp_error::{AMQPResult, AMQPError};
use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt};
use std::io::{Read, Write};
use codegen_macros::{ArgumentsReader, ArgumentsWriter};
use method;
<% if klass["properties"] && klass["properties"].any? -%>
// properties struct for <%= klass["name"] %>
properties_struct!(<%= klass["properties_struct_name"] %>,
<%= klass["properties_fields"].map{ |f| "#{f[0]} => #{f[1]}" }.join(",\n") %>
);
<% end -%>
<% klass["methods"].each do |method| -%>
// Method <%= method["id"] %>:<%=method["name"] %>
method_struct!(<%= method["method_name"] %>, "<%= klass["name"] %>.<%= method["name"] %>", <%= klass["id"] %>, <%= method["id"] %>,
<%= method["fields"].map{ |f| "#{f[0]} => #{f[1]}" }.join(",\n") %>
);
unsafe impl Send for <%= method["method_name"] %> {}
<% end -%>
}
<% end -%>