| import "v.io/core/veyron2/security" |
| // Discharger is the interface for obtaining discharges for ThirdPartyCaveats. |
| type Discharger interface { |
| // Discharge is called by a principal that holds a blessing with a third |
| // party caveat and seeks to get a discharge that proves the fulfillment of |
| // Caveat and Discharge are of type ThirdPartyCaveat and Discharge |
| // respectively. (not enforced here because vdl does not know these types) |
| // TODO(ataly,ashankar): The type of Caveat should become security.Caveat and |
| // we have to figure out an alternative to any for the return Discharge. |
| Discharge(Caveat any, Impetus security.DischargeImpetus) (Discharge any | error) |