41 lines
1.1 KiB
Plaintext
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;
|
||
|
}
|
||
|
}
|
||
|
}
|