aboutsummaryrefslogtreecommitdiffstats
path: root/ui/frontend.go
blob: 22dc64fdfd8d37c3a779f2193b0091100efdf966 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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)
}