syntax = "proto3";

import "types.proto";
import "types/messages.proto";
package Syssdm;

service IFPowerCtrl {
    rpc PowerCtrl(SyssdmMsg.PowerCtrlReq) returns (SyssdmMsg.PowerCtrlRsp);
}

service IFUpgradeCtrl {
    rpc UpgradePrepare(SyssdmMsg.UpgradePrepareReq) returns (SyssdmMsg.UpgradeCtrlRsp);
    rpc UpgradePrepareReply(SyssdmMsg.UpgradePrepareReplyReq) returns (SyssdmMsg.UpgradeCtrlRsp);

    rpc UpgradeProcess(SyssdmMsg.UpgradeProcessReq) returns (SyssdmMsg.UpgradeCtrlRsp);
    rpc UpgradeProcessReply(SyssdmMsg.UpgradeProcessReplyReq) returns (SyssdmMsg.UpgradeCtrlRsp);

    rpc UpgradeStatusReply(SyssdmMsg.UpgradeStatusReplyReq) returns (SyssdmMsg.UpgradeCtrlRsp);

    rpc UpgradeFinish(SyssdmMsg.UpgradeFinishReq) returns (SyssdmMsg.UpgradeCtrlRsp);
    rpc UpgradeFinishReply(SyssdmMsg.UpgradeFinishReplyReq) returns (SyssdmMsg.UpgradeCtrlRsp);

}