diff options
Diffstat (limited to 'mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala')
-rw-r--r-- | mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala b/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala index 9b5b447..4f8b207 100644 --- a/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala +++ b/mavlink-library/src/main/scala/com/github/jodersky/mavlink/Generator.scala @@ -21,18 +21,21 @@ class Generator(dialect: Dialect) { } /** - * Generates Scala code implementing MAVLink. - * @return a list containing proposed Scala file names pointing to their contents + * Represents a generator's target file + * @param path the path of the generated file + * @param generate contents of the generated file */ - def generate(): List[(String, String)] = { - val context = Context(dialect.version) + case class Target(path: String, generate: () => String) + def targets: List[Target] = { + val context = Context(dialect.version) List( - "org/mavlink/Assembler.scala" -> org.mavlink.txt.Assembler(context).body, - "org/mavlink/Crc.scala" -> org.mavlink.txt.Crc(context).body, - "org/mavlink/Packet.scala" -> org.mavlink.txt.Packet(context, maxPayloadLength, extraCrcs).body, - "org/mavlink/Parser.scala" -> org.mavlink.txt.Parser(context).body, - "org/mavlink/messages/messages.scala" -> org.mavlink.messages.txt.messages(context, dialect.messages).body + Target("org/mavlink/Assembler.scala", () => org.mavlink.txt.Assembler(context).body), + Target("org/mavlink/Crc.scala", () => org.mavlink.txt.Crc(context).body), + Target("org/mavlink/Packet.scala", () => org.mavlink.txt.Packet(context, maxPayloadLength, extraCrcs).body), + Target("org/mavlink/Parser.scala", () => org.mavlink.txt.Parser(context).body), + Target("org/mavlink/messages/messages.scala", () => org.mavlink.messages.txt.messages(context, dialect.messages).body) ) } + }
\ No newline at end of file |