blob: e19e6c7a1deaba137568df047f3fd42d7aafbd68 [file] [log] [blame]
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// To render: "dot -Tpng state.gv -o state.png"
digraph effect_state_machine {
node [shape=point style=filled fillcolor=black width=0.5] I;
node [shape=doublecircle] F;
node [shape=oval width=1];
node [fillcolor=lightgreen] INIT;
node [fillcolor=lightblue] IDLE;
node [fillcolor=lightyellow] PROCESSING;
I -> INIT [label="IFactory.createEffect" labelfontcolor="navy"];
INIT -> F [label="IFactory.destroyEffect"];
INIT -> IDLE [label="open()" labelfontcolor="lime"];
IDLE -> PROCESSING [label="command(START"];
PROCESSING -> IDLE [label="command(STOP)\ncommand(RESET)"];
IDLE -> INIT [label="close()"];
INIT -> INIT [label="getState\ngetDescriptor"];
IDLE -> IDLE [label="getXXX\nsetParameter\ncommand(RESET)"];
PROCESSING -> PROCESSING [label="getXXX\nsetParameter"];
}