19 lines
		
	
	
		
			656 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			19 lines
		
	
	
		
			656 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								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)
							 | 
						||
| 
								 | 
							
								}
							 |