singrdk/base/Contracts/FileSystem.Contracts/Iso9660ServiceControlContra...

41 lines
1.1 KiB
Plaintext

///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
using System;
using System.Collections;
using Microsoft.SingSharp;
using Microsoft.Singularity;
using Microsoft.Singularity.Directory;
using Microsoft.Singularity.Channels;
namespace Microsoft.Singularity.FileSystem {
public contract Iso9660ServiceControlContract : ServiceContract {
in message Initialize(char[] in ExHeap device);
out message AckInitialize();
out message NackInitialize();
in message Mount(char[] in ExHeap location);
out message AckMount();
out message NackMount();
in message Unmount();
out message AckUnmount();
out message NackUnmount();
out message Success();
override state Start : one {
Success! -> Ready;
}
state Ready : one {
Initialize? -> (AckInitialize! or NackInitialize!) -> Ready;
Mount? -> (AckMount! or NackMount!) -> Ready;
Unmount? -> (AckUnmount! or NackUnmount!) -> Ready;
}
}
}