;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; ;;;
-;;; Confidential and proprietary information of ITA Software, Inc. ;;;
+;;; Free Software published under an MIT-like license. See LICENSE ;;;
;;; ;;;
-;;; Copyright (c) 2012 ITA Software, Inc. All rights reserved. ;;;
+;;; Copyright (c) 2012 Google, Inc. All rights reserved. ;;;
;;; ;;;
;;; Original author: Scott McKay ;;;
;;; ;;;
(defpackage protobufs
(:nicknames :proto)
+ (:use)
;; Some types useful for defining messages
(:export
"PROTOBUF-EXTENSION"
"PROTOBUF-SERVICE"
"PROTOBUF-METHOD"
+ "PROTOBUF-TYPE-ALIAS" ;Lisp-only extension
+
+ ;; Conditions
+ "UNDEFINED-FIELD-TYPE"
+ "UNDEFINED-INPUT-TYPE"
+ "UNDEFINED-OUTPUT-TYPE"
+ "UNDEFINED-STREAM-TYPE"
+ "ERROR-TYPE-NAME"
+ "ERROR-FIELD"
+ "ERROR-METHOD"
+
+ ;; Object lookup
+ "FIND-MESSAGE"
+ "FIND-MESSAGE-FOR-CLASS"
+ "FIND-SCHEMA"
+ "FIND-SERVICE"
;; .proto parsing and printing
"PARSE-SCHEMA-FROM-FILE"
"DEFINE-EXTENSION"
"DEFINE-GROUP"
"DEFINE-SERVICE"
+ "DEFINE-TYPE-ALIAS" ;Lisp-only extension
;; Upgradability and equality testing
"SCHEMA-UPGRADABLE"
;; Serialization and deserialization (wire format)
"SERIALIZE-OBJECT-TO-FILE"
"SERIALIZE-OBJECT-TO-STREAM"
+ "SERIALIZE-OBJECT-TO-BYTES"
"SERIALIZE-OBJECT"
"DESERIALIZE-OBJECT-FROM-FILE"
"DESERIALIZE-OBJECT-FROM-STREAM"
+ "DESERIALIZE-OBJECT-FROM-BYTES"
"DESERIALIZE-OBJECT"
"OBJECT-SIZE"
"CLASS-SLOTS"
"CLASS-DIRECT-SLOTS"
"CLASS-PRECEDENCE-LIST"
+ "CLASS-FINALIZED-P"
+ "FINALIZE-INHERITANCE"
"SLOT-DEFINITION-NAME"
"SLOT-DEFINITION-TYPE"
"SLOT-DEFINITION-INITFORM"
"PROTO-ALIAS-FOR"
"PROTO-CLASS"
"PROTO-CLIENT-STUB"
+ "PROTO-CONC-NAME"
"PROTO-DEFAULT"
"PROTO-DOCUMENTATION"
"PROTO-ENUMS"
"PROTO-SERVER-STUB"
"PROTO-SERVICES"
"PROTO-SLOT"
+ "PROTO-SOURCE-LOCATION"
+ "PROTO-STREAMS-NAME"
+ "PROTO-STREAMS-TYPE"
"PROTO-SYNTAX"
"PROTO-TYPE"
"PROTO-VALUE"
"PROTO-VALUES"
"PROTO-WRITER"
+ ;; Type aliases, a Lisp-only extension
+ "PROTO-TYPE-ALIASES"
+ "PROTO-LISP-TYPE"
+ "PROTO-PROTO-TYPE"
+ "PROTO-SERIALIZER"
+ "PROTO-DESERIALIZER"
+ "FIND-TYPE-ALIAS"
+
+ ;; Controls
+ "*PROTOBUF*"
+ "*PROTOBUF-PACKAGE*"
+ "*PROTOBUF-CONC-NAME*"
+ "*PROTOBUF-PATHNAME*"
+ "*PROTOBUF-SEARCH-PATH*"
+ "*PROTOBUF-OUTPUT-PATH*"
+
;; Object lookup
"*ALL-SCHEMAS*"
"*ALL-MESSAGES*"
"FIND-ENUM"
"FIND-FIELD"
- "FIND-MESSAGE"
- "FIND-MESSAGE-FOR-CLASS"
"FIND-METHOD" ;if you ":use proto-impl", watch for name clash
- "FIND-SCHEMA"
- "FIND-SERVICE"
"FIND-OPTION"
"REMOVE-OPTIONS"
"*ALIAS-EXISTING-CLASSES*"
"CLASS-TO-PROTOBUF-MESSAGE"
"SLOT-TO-PROTOBUF-FIELD"
+ "LISP-TYPE-TO-PROTOBUF-TYPE"
"CLOS-TYPE-TO-PROTOBUF-TYPE"
"CLOS-TYPE-TO-PROTOBUF-REQUIRED"
"CLOS-INIT-TO-PROTOBUF-DEFAULT"
"PROTO->SLOT-NAME"
"PROTOBUFS-WARNING"
"PROTOBUFS-WARN"
+ "MAKE-QUALIFIED-NAME"
;; Stuff for ASDF
"PARSE-PROTOBUF-FILE"
- "PROCESS-IMPORTS"))
+ "PROCESS-IMPORTS"
+ "PROCESS-IMPORTS-FROM-FILE"
+
+ ;; Stuff for RPC stubs
+ "*RPC-PACKAGE*"
+ "*RPC-CALL-FUNCTION*"))