136 lines
5 KiB
Common Lisp
136 lines
5 KiB
Common Lisp
(in-package #:thrift.test-implementation)
|
|
|
|
;;;; Licensed under the Apache License, Version 2.0 (the "License");
|
|
;;;; you may not use this file except in compliance with the License.
|
|
;;;; You may obtain a copy of the License at
|
|
;;;;
|
|
;;;; http://www.apache.org/licenses/LICENSE-2.0
|
|
;;;;
|
|
;;;; Unless required by applicable law or agreed to in writing, software
|
|
;;;; distributed under the License is distributed on an "AS IS" BASIS,
|
|
;;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
;;;; See the License for the specific language governing permissions and
|
|
;;;; limitations under the License.
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-void ()
|
|
(format t "testVoid()~%"))
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-string (thing)
|
|
(format t "testString(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-bool (thing)
|
|
(format t "testBool(~a)~%" (if thing "true" "false"))
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-byte (thing)
|
|
(format t "testByte(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-i32 (thing)
|
|
(format t "testI32(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-i64 (thing)
|
|
(format t "testI64(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-double (thing)
|
|
(format t "testDouble(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-binary (thing)
|
|
(format t "testBinary(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-struct (thing)
|
|
(format t "testStruct(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-nest (thing)
|
|
(format t "testNest(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-map (thing)
|
|
(format t "testMap(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-string-map (thing)
|
|
(format t "testStringMap(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-set (thing)
|
|
(format t "testSet(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-list (thing)
|
|
(format t "testList(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-enum (thing)
|
|
(format t "testEnum(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-typedef (thing)
|
|
(format t "testTypedef(~a)~%" thing)
|
|
thing)
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-map-map (hello)
|
|
(format t "testMapMap(~a)~%" hello)
|
|
'((-4 . ((-4 . -4) (-3 . -3) (-2 . -2) (-1 . -1))) (4 . ((1 . 1) (2 . 2) (3 . 3) (4 . 4)))))
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-insanity (argument)
|
|
(let ((result `((1 . ((2 . ,argument) (3 . ,argument)))
|
|
(2 . ((6 . ,(thrift.test::make-insanity :user-map nil :xtructs nil)))))))
|
|
(format t "~a~%" result)
|
|
result))
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-multi (arg0 arg1 arg2 arg3 arg4 arg5)
|
|
(declare (ignorable arg3 arg4 arg5))
|
|
(format t "testMulti()~%")
|
|
(thrift.test:make-xtruct :string-thing "Hello2"
|
|
:byte-thing arg0
|
|
:i32-thing arg1
|
|
:i64-thing arg2))
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-exception (arg)
|
|
(format t "testException(~a)~%" arg)
|
|
(cond
|
|
((string= arg "Xception") (error 'thrift.test:xception
|
|
:error-code 1001
|
|
:message arg))
|
|
((string= arg "TException") (error 'thrift.test:xception
|
|
:error-code 0
|
|
:message "Stuff!"))))
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-multi-exception (arg0 arg1)
|
|
(format t "testMultiException(~a, ~a)~%" arg0 arg1)
|
|
(cond
|
|
((string= arg0 "Xception") (error 'thrift.test:xception
|
|
:error-code 1001
|
|
:message "This is an Xception"))
|
|
((string= arg0 "Xception2") (error 'thrift.test:xception2
|
|
:error-code 2002
|
|
:struct-thing (thrift.test:make-xtruct :string-thing "This is an Xception2"
|
|
:byte-thing 0
|
|
:i32-thing 0
|
|
:i64-thing 0))))
|
|
(thrift.test:make-xtruct :string-thing arg1
|
|
:byte-thing 0
|
|
:i32-thing 0
|
|
:i64-thing 0))
|
|
|
|
(defun thrift.test.thrift-test-implementation:test-oneway (seconds)
|
|
(format t "testOneway(~a): Sleeping...~%" seconds)
|
|
(sleep seconds)
|
|
(format t "testOneway(~a): done sleeping!~%" seconds))
|
|
|
|
;;; Removed from the IDL definition.
|
|
#+(or)
|
|
(defun thrift.test.second-service-implementation:blah-blah ()
|
|
(format t "blahBlah()~%"))
|
|
|
|
(defun thrift.test.second-service-implementation:secondtest-string (thing)
|
|
(format t "secondtestString(~a)~%" thing)
|
|
(concatenate 'string "testString(\"" thing "\")"))
|
|
|