diff options
Diffstat (limited to 'ui/frontend.go')
-rw-r--r-- | ui/frontend.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ui/frontend.go b/ui/frontend.go new file mode 100644 index 000000000..22dc64fdf --- /dev/null +++ b/ui/frontend.go @@ -0,0 +1,18 @@ +package ui + +// ReturnInterface is returned by the Intercom interface when a method is called +type ReturnInterface interface { + Get(i int) (interface{}, error) + Size() int +} + +// Frontend is the basic interface for calling arbitrary methods on something that +// implements a front end (GUI, CLI, etc) +type Frontend interface { + // Checks whether a specific method is implemented + Supports(method string) bool + // Call calls the given method on interface it implements. This will return + // an error with errNotImplemented if the method hasn't been implemented + // and will return a ReturnInterface if it does. + Call(method string) (ReturnInterface, error) +} |