;; -*- mode: Scheme; -*- ;; ;; This file is part of Protocol Buffers for CHICKEN ;; Copyright (c) 2013 by Thomas Chust. All rights reserved. ;; ;; Permission is hereby granted, free of charge, to any person ;; obtaining a copy of this software and associated documentation ;; files (the Software), to deal in the Software without restriction, ;; including without limitation the rights to use, copy, modify, ;; merge, publish, distribute, sublicense, and/or sell copies of the ;; Software, and to permit persons to whom the Software is furnished ;; to do so, subject to the following conditions: ;; ;; The above copyright notice and this permission notice shall be ;; included in all copies or substantial portions of the Software. ;; ;; THE SOFTWARE IS PROVIDED ASIS, WITHOUT WARRANTY OF ANY KIND, ;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ;; BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ;; ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ;; CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ;; SOFTWARE. (module srfi-4-comprehensions * (import scheme (chicken base) (chicken fixnum) srfi-4 srfi-42) (include "srfi-4-comprehensions.scm")) (module protobuf-encoding (make-limited-input-port read-uint* write-uint* read-sint* write-sint* read-int* write-int* read-bool write-bool read-fixed* read-fixed32 read-fixed64 read-sfixed32 read-sfixed64 write-fixed* write-fixed32 write-fixed64 write-sfixed32 write-sfixed64 read-float* read-float read-double write-float* write-float write-double read-sized-bytes write-sized-bytes read-sized-string write-sized-string read-sized write-sized read-tag/type write-tag/type) (import scheme (chicken base) (chicken fixnum) (chicken bitwise) (chicken io) (chicken port) (chicken syntax) srfi-4 srfi-4-comprehensions srfi-42 (only srfi-18 raise)) (include "encoding.scm")) (module protobuf-reflection (type-info type-info? type-info-name primitive-info make-primitive-info primitive-info? primitive-info-type primitive-info-reader primitive-info-writer enum-info make-enum-info enum-info? enum-info-integer->enum enum-info-enum->integer message-info make-message-info message-info? message-info-constructor message-info-fields message-info-required field-info make-field-info field-info? field-info-type field-info-repeated? field-info-packed? field-info-accessor field-info-mutator message message? message-extensions message-unknown message-unknown-set! prop:protobuf) (import scheme (chicken base) (chicken format) srfi-69 srfi-99) (include "reflection.scm")) (module protobuf-syntax (int32 int64 uint32 uint64 uint* sint32 sint64 sint* fixed32 fixed64 sfixed32 sfixed64 bool float double bytes string define-enum-type define-message-type define-message-extension) (import (except scheme string) (chicken base) srfi-69 srfi-99 protobuf-encoding protobuf-reflection) (import-for-syntax (only (chicken string) conc) srfi-1) (include "syntax.scm")) (module protobuf (serialize deserialize) (import scheme (chicken base) (chicken io) (chicken port) (chicken syntax) (chicken module) srfi-69 srfi-99 protobuf-encoding protobuf-reflection) (reexport (only protobuf-reflection message? message-extensions message-unknown)) (include "main.scm")) (module protobuf-generic (current-serialization-context make-serialization-context serialization-context? serialization-info prop:serialization-info make-serialization-info serialization-info? serialization-info-reader serialization-info-writer serialize deserialize) (import scheme (chicken base) (chicken fixnum) (chicken keyword) (chicken blob) (chicken port) (chicken syntax) (chicken foreign) (chicken memory representation) srfi-4 srfi-4-comprehensions srfi-13 srfi-42 srfi-69 srfi-99 protobuf-encoding) (include "generic.scm")) ;; vim: set ai et ts=8 sts=2 sw=2 ft=scheme: ;;