// ---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // ---------------------------------------------------------------------------- namespace Microsoft.Singularity.Security { using System; using Microsoft.SingSharp; using Microsoft.Singularity.Directory; using Microsoft.Singularity.Channels; public contract SecurityDiagnosticsContract : ServiceContract { public const string ModuleName="/status/security"; /// /// Tell the client the channel is ready. /// out message Ready(); /// /// Get a principal name from a principal /// //in message GetName(long principalId); //out message AckGetName(char[]! in ExHeap principalName); in message GetStatistics(); out message GetStatisticsAck(char[]! in ExHeap stats); in message ClearStatistics(); out message Ack(); in message FlushCaches(); // make sure to remove this!! in message Disable(bool yes); override state Start: Ready! -> ReadyState; state ReadyState : one { //GetName? -> AckGetName! -> ReadyState; ClearStatistics? -> Ack! -> ReadyState; GetStatistics? -> GetStatisticsAck! -> ReadyState; FlushCaches? -> Ack! -> ReadyState; Disable? -> Ack! -> ReadyState; } } }