// ----------------------------------------------------------------------------
//
// 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;
}
}
}