(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"
"CLASS-SLOTS"
"CLASS-DIRECT-SLOTS"
"CLASS-PRECEDENCE-LIST"
+ "CLASS-FINALIZED-P"
+ "FINALIZE-INHERITANCE"
"SLOT-DEFINITION-NAME"
"SLOT-DEFINITION-TYPE"
"SLOT-DEFINITION-INITFORM"
"SLOT-DEFINITION-WRITERS")
(:export
+ ;; Base class for messages
+ "BASE-PROTOBUF-MESSAGE"
+
;; Model class protocol
"ABSTRACT-PROTOBUF"
"BASE-PROTOBUF"
"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*"
"*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"
+ "MAKE-OPTION"
"FIND-OPTION"
+ "ADD-OPTION"
"REMOVE-OPTIONS"
;; Printing
"*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*"))