1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 ;;; Confidential and proprietary information of ITA Software, Inc. ;;;
5 ;;; Copyright (c) 2012 ITA Software, Inc. All rights reserved. ;;;
7 ;;; Original author: Scott McKay ;;;
9 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
11 (in-package "CL-USER")
14 ;;; Package declaration for Protoubfs
40 ;; .proto parsing and printing
41 "PARSE-PROTOBUF-FROM-FILE"
42 "PARSE-PROTOBUF-FROM-STREAM"
45 ;; Protobuf defining macros
54 ;; Upgradability testing
57 ;; CLOS to Protobufs transformer
58 "WRITE-PROTOBUF-SCHEMA-FOR-CLASSES"
59 "GENERATE-PROTOBUF-SCHEMA-FOR-CLASSES"
61 ;; Serialization and deserialization (wire format)
62 "SERIALIZE-OBJECT-TO-FILE"
63 "SERIALIZE-OBJECT-TO-STREAM"
65 "DESERIALIZE-OBJECT-FROM-FILE"
66 "DESERIALIZE-OBJECT-FROM-STREAM"
70 ;; Serialization and deserialization (text format)
74 ;; Miscellaneous bits of the API
80 "OBJECT-INITIALIZED-P"
82 "REINITIALIZE-OBJECT")
84 ;; The Python "compatibility" API
92 "MERGE-FROM-MESSAGE"))
94 (defpackage protobufs-implementation
95 (:nicknames :proto-impl)
96 (:use :common-lisp :protobufs)
98 (:import-from :closer-mop
101 "CLASS-PRECEDENCE-LIST"
102 "SLOT-DEFINITION-NAME"
103 "SLOT-DEFINITION-TYPE"
104 "SLOT-DEFINITION-INITFORM"
105 "SLOT-DEFINITION-READERS")
108 ;; Model class protocol
114 "PROTO-DOCUMENTATION"
116 "PROTO-EXTENSION-FROM"
148 "FIND-MESSAGE-FOR-CLASS"
157 ;; Protobuf defining macros
158 "ENSURE-ALL-PROTOBUFS"
161 ;; CLOS to Protobufs transformer
162 "*ALIAS-EXISTING-CLASSES*"
163 "CLASS-TO-PROTOBUF-MESSAGE"
164 "SLOT-TO-PROTOBUF-FIELD"
165 "CLOS-TYPE-TO-PROTOBUF-TYPE"
166 "CLOS-TYPE-TO-PROTOBUF-REQUIRED"
167 "CLOS-INIT-TO-PROTOBUF-DEFAULT"
168 "PROTOBUF-DEFAULT-TO-CLOS-INIT"
180 "GENERATE-SERIALIZER"
181 "GENERATE-DESERIALIZER"
182 "GENERATE-OBJECT-SIZE"
184 ;; Raw encoding and decoding
188 "$WIRE-TYPE-START-GROUP"
189 "$WIRE-TYPE-END-GROUP"