blob: 8b9470e12e5a55f6aaf74a14b9f803b414e2908f [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package fortune
import "v.io/v23/security/access"
type ComplexErrorParam struct {
Str string
Num int32
List []uint32
}
error (
NoFortunes() {
"en": "no fortunes added",
}
Complex(first ComplexErrorParam, second string, third int32) {
"en": "this is a complex error with params {first} {second} {third}",
}
)
// Fortune allows clients to Get and Add fortune strings.
type Fortune interface {
// Add stores a fortune in the set used by Get.
Add(Fortune string) error {access.Write}
// Get returns a random fortune.
Get() (Fortune string | error) {access.Read}
// StreamingGet returns a stream that can be used to obtain fortunes.
StreamingGet() stream<bool, string> (total int32 | error) {access.Read}
// MultipleGet returns the same fortune twice.
MultipleGet() (Fortune string, Another string | error) {access.Read}
// GetComplexError returns (always!) ErrComplex.
GetComplexError() error {access.Read}
// NoTags is a method without tags.
NoTags() error
// TestServerCall is a method used for testing that the server receives a
// correct ServerCall.
TestServerCall() error {access.Read}
}