singrdk/base/Applications/EmailServer/AntiVirus/AntiVirusContracts.sg

33 lines
990 B
Plaintext
Raw Normal View History

2008-11-17 18:29:00 -05:00
///////////////////////////////////////////////////////////////////////////////
//
// Microsoft Research Singularity
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// Note: Contract used by SMTP Agents to talk to storage.
//
using Microsoft.Singularity.Channels;
using Microsoft.Singularity.Directory;
using Microsoft.Singularity.Endpoint;
using Microsoft.Singularity.Extending;
namespace Microsoft.Singularity.Email.Contracts
{
public contract AntiVirusContract : ExtensionContract //ServiceContract
{
public const string ModuleName = "/service/antivirus";
out message AntiVirusReady();
in message CheckFile(byte[]! in ExHeap buffer);
out message FileClean();
out message FileContaminated(char[]! in ExHeap virus);
override state Start : AntiVirusReady! -> ReadyState;
state ReadyState : CheckFile? -> (FileClean! or FileContaminated!) -> ReadyState;
}
}