diff --git a/clamd.go b/clamd.go index 5199f63..cda83bc 100644 --- a/clamd.go +++ b/clamd.go @@ -40,6 +40,20 @@ const ( RES_PARSE_ERROR = "PARSE ERROR" ) +type Scanner interface { + Ping() error + Version() (chan *ScanResult, error) + Stats() (*Stats, error) + Reload() error + Shutdown() error + ScanFile(path string) (chan *ScanResult, error) + RawScanFile(path string) (chan *ScanResult, error) + MultiScanFile(path string) (chan *ScanResult, error) + ContScanFile(path string) (chan *ScanResult, error) + AllMatchScanFile(path string) (chan *ScanResult, error) + ScanStream(r io.Reader, abort chan bool) (chan *ScanResult, error) +} + type Clamd struct { address string } @@ -305,7 +319,7 @@ func (c *Clamd) ScanStream(r io.Reader, abort chan bool) (chan *ScanResult, erro return ch, nil } -func NewClamd(address string) *Clamd { +func NewClamd(address string) Scanner { clamd := &Clamd{address: address} return clamd }