Sample DLL file for File Scan integration

namespace Oracle.Argus.Bridge.Service.Contracts
{
    /// <summary>
    /// File Scan adapter template that the custom adapter will use to implement .
    /// </summary>
    public interface IFileScanAdapter
    {
        /// <summary>
        /// Logger interface for debugging. Bridge API will provide a wrapper to existing Argus logging functionality.
        /// </summary>
        ILogger Logger { get; set; }

        /// <summary>
        /// DataAccessAdapter interface for updating file scan status in callback from adapter into Argus Bridge. 
        /// </summary>
        IDataAccessAdapter dataAccessAdapter { get; set; }

        /// <summary>
        /// Dictionary containing adapter configuration details to connect to File Scan Api.
        /// </summary>
        string DictionaryConfig { set; }

        /// <summary>
        /// Checks if the adapter can connect to the file scan service.
        /// </summary>
        /// <returns></returns>
        bool IsAlive();

        /// <summary>
        /// Upload file for scanning asynchronously to Argus Bridge.
        /// </summary>
        /// <param name="sFileName">File name contains Random generated name with file extension</param>
        /// <param name="baFileData">Binary file data in bytearray</param>
        /// <param name="lScanId">Generated ScanId from Argus Bridge</param>
        /// <param name="lEnterpriseId">Enterprise Id</param>
        void UploadFileForScan(string sFileName,byte[] baFileData,long lScanId,long lEnterpriseId);

        /// <summary>
        /// Upload file for scanning synchronously to Argus Bridge
        /// </summary>
        /// <param name="sFileName">File name contains Random generated name with file extension</param>
        /// <param name="baFileData">Binary file data in bytearray</param>
        /// <param name="lEnterpriseId">Enterprise Id</param>
        /// <returns>0:Scanning;1:CLEAN;2:INFECTED;3:FAILED</returns>
        int ScanFile(string sFileName,byte[] baFileData, long lEnterpriseId);


    }
}