[][src]Crate amq_protocol_codegen

AMQP code generation utilities

amq-protocol-codegen is a library aiming at providing tools to generate code from official AMQP specs definition.

Structs

AMQPClass

A class as defined in the AMQP specification

AMQPConstant

A constant as defined in the AMQP specification

AMQPFlagArgument

An argument holding a flag as defined in the AMQP specification

AMQPFlagsArgument

An argument holding a flags as defined in the AMQP specification

AMQPMethod

A method as defined in the AMQP specification

AMQPProperty

A property as defined in the AMQP specification

AMQPValueArgument

An argument holding a value as defined in the AMQP specification

AMQPValueRefHelper

Helper for "unwrapping" an amqp_value

AMQProtocolDefinition

Structure holding the definition of the protocol

CamelHelper

Helper for converting text to camel case

EachArgumentHelper

Helper to walk through a Vec of AMQPArgument.

GenSizeHelper

Helper for computing the gen size of an AMQPValue

MethodHasFlagHelper

Helper for checking if a method has the given flag argument

PassByRefHelper

Helper to check whether a param is passed by ref or not

SanitizeNameHelper

Helper to sanitize name so the it becomes a valid identifier

SnakeHelper

Helper for converting text to snake case

SnakeTypeHelper

Helper for getting the type name converted to snake case

UseStrRefHelper

Helper to check whether a param is passed using an &str or its real type

Enums

AMQPArgument

An argument as defined in the AMQP specification

Traits

HandlebarsAMQPExtension

Our extension for better integration with Handlebars

Functions

camel_case

Convert input to camel case

snake_case

Convert input to snake case For the purpose of the AMQP codegen usage, we also handle a few special cases: "type" and "return" become "kind" and "r#return" if raw is true A word needs to be composed of at least two letters, this makes UInt become uint and not u_int

Type Definitions

CodeGenerator

Type alias to avoid making our users explicitely depend on an extra dependency