]> asedeno.scripts.mit.edu Git - cl-protobufs.git/blob - proto-pkgdcl.lisp
D'oh, forgot to initialize nullable and sequence slots to nil
[cl-protobufs.git] / proto-pkgdcl.lisp
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;;;                                                                  ;;;
3 ;;; Confidential and proprietary information of ITA Software, Inc.   ;;;
4 ;;;                                                                  ;;;
5 ;;; Copyright (c) 2012 ITA Software, Inc.  All rights reserved.      ;;;
6 ;;;                                                                  ;;;
7 ;;; Original author: Scott McKay                                     ;;;
8 ;;;                                                                  ;;;
9 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
10
11 (in-package "CL-USER")
12
13
14 ;;; Package declaration for Protoubfs
15
16 (defpackage protobufs
17   (:nicknames :proto)
18
19   (:export
20    ;; Model classes
21    "PROTOBUF"
22    "PROTOBUF-OPTION"
23    "PROTOBUF-ENUM"
24    "PROTOBUF-ENUM-VALUE"
25    "PROTOBUF-MESSAGE"
26    "PROTOBUF-FIELD"
27    "PROTOBUF-EXTENSION"
28    "PROTOBUF-SERVICE"
29    "PROTOBUF-RPC"
30
31    ;; Printing
32    "WRITE-PROTOBUF"
33
34    ;; Parsing
35    "PARSE-PROTOBUF-FROM-FILE"
36    "PARSE-PROTOBUF-FROM-STREAM"
37
38    ;; Protobuf defining macros
39    "DEFINE-PROTO"
40    "DEFINE-ENUM"
41    "DEFINE-MESSAGE"
42    "DEFINE-EXTENSION"
43    "DEFINE-SERVICE"
44
45    ;; Upgradability testing
46    "PROTOBUF-UPGRADABLE"
47
48    ;; CLOS to Protobufs transformer
49    "WRITE-PROTOBUF-SCHEMA-FOR-CLASSES"
50
51    ;; Serialization
52    "SERIALIZE-OBJECT-TO-STREAM"
53    "SERIALIZE-OBJECT"
54    "DESERIALIZE-OBJECT-FROM-STREAM"
55    "DESERIALIZE-OBJECT"
56    "OBJECT-SIZE"
57
58    ;; Text printing
59    "PRINT-TEXT-FORMAT"))
60
61 (defpackage protobufs-implementation
62   (:nicknames :proto-impl)
63   (:use :common-lisp :quux :protobufs)
64
65   (:export
66    ;; Model class protocol
67    "ABSTRACT-PROTOBUF"
68    "BASE-PROTOBUF"
69    "PROTO-ALIAS-FOR"
70    "PROTO-CLASS"
71    "PROTO-DEFAULT"
72    "PROTO-DOCUMENTATION"
73    "PROTO-ENUMS"
74    "PROTO-EXTENSION-FROM"
75    "PROTO-EXTENSION-TO"
76    "PROTO-EXTENSIONS"
77    "PROTO-FIELDS"
78    "PROTO-FUNCTION"
79    "PROTO-IMPORTS"
80    "PROTO-INDEX"
81    "PROTO-INPUT-NAME"
82    "PROTO-INPUT-TYPE"
83    "PROTO-MESSAGES"
84    "PROTO-NAME"
85    "PROTO-OPTIMIZE"
86    "PROTO-OPTIONS"
87    "PROTO-OUTPUT-NAME"
88    "PROTO-OUTPUT-TYPE"
89    "PROTO-PACKAGE"
90    "PROTO-PACKED"
91    "PROTO-READER"
92    "PROTO-REQUIRED"
93    "PROTO-RPCS"
94    "PROTO-SERVICES"
95    "PROTO-SYNTAX"
96    "PROTO-TYPE"
97    "PROTO-VALUE"
98    "PROTO-VALUES"
99    "FIND-PROTOBUF"
100    "FIND-MESSAGE"
101    "FIND-ENUM"
102    "FIND-OPTION"
103
104    ;; Printing
105    "WRITE-PROTOBUF-AS"
106
107    ;; Protobuf defining macros
108    "ENSURE-ALL-PROTOBUFS"
109    "ENSURE-PROTOBUF"
110
111    ;; CLOS to Protobufs transformer
112    "CLASS-TO-PROTOBUF-MESSAGE"
113    "SLOT-TO-PROTOBUF-FIELD"
114    "CLOS-TYPE-TO-PROTOBUF-TYPE"
115    "CLOS-TYPE-TO-PROTOBUF-REQUIRED"
116    "CLOS-INIT-TO-PROTOBUF-DEFAULT"
117    "PROTOBUF-DEFAULT-TO-CLOS-INIT"
118
119    ;; Serialization
120    "SERIALIZE-PRIM"
121    "SERIALIZE-PACKED"
122    "SERIALIZE-ENUM"
123    "DESERIALIZE-PRIM"
124    "DESERIALIZE-PACKED"
125    "DESERIALIZE-ENUM"
126    "PRIM-SIZE"
127    "PACKED-SIZE"
128    "ENUM-SIZE"
129    "GENERATE-SERIALIZER"
130    "GENERATE-DESERIALIZER"
131    "GENERATE-OBJECT-SIZE"
132
133    ;; Raw encoding and decoding
134    "$WIRE-TYPE-VARINT"
135    "$WIRE-TYPE-64BIT"
136    "$WIRE-TYPE-STRING"
137    "$WIRE-TYPE-32BIT"
138    "MAKE-TAG"
139    "ENCODE-UINT32"
140    "ENCODE-UINT64"
141    "ENCODE-FIXED32"
142    "ENCODE-FIXED64"
143    "ENCODE-SINGLE"
144    "ENCODE-DOUBLE"
145    "ENCODE-OCTETS"
146    "ZIG-ZAG-ENCODE32"
147    "ZIG-ZAG-ENCODE64"
148    "DECODE-UINT32"
149    "DECODE-UINT64"
150    "DECODE-FIXED32"
151    "DECODE-FIXED64"
152    "DECODE-SINGLE"
153    "DECODE-DOUBLE"
154    "DECODE-OCTETS"
155    "ZIG-ZAG-DECODE32"
156    "ZIG-ZAG-DECODE64"
157    "LENGTH32"
158    "LENGTH64"
159    "SKIP-ELEMENT"
160
161    ;; Utilities
162    "CLASS-NAME->PROTO"
163    "ENUM-NAME->PROTO"
164    "SLOT-NAME->PROTO"
165    "PROTO->CLASS-NAME"
166    "PROTO->ENUM-NAME"
167    "PROTO->SLOT-NAME"
168    "PROTOBUFS-WARNING"
169    "PROTOBUFS-WARN"))