-- Copyright (c) 2024 Huawei Technologies Co., Ltd.
-- openUBMC is licensed under Mulan PSL v2.
-- You can use this software according to the terms and conditions of the Mulan PSL v2.
-- You may obtain a copy of Mulan PSL v2 at:
--         http://license.coscl.org.cn/MulanPSL2
-- THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
-- EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
-- MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
-- See the Mulan PSL v2 for more details.

local Event = {}

local Mdb = require 'mc.mdb'

---@class Event: Table
---@field EventKeyId string
---@field Reading number
---@field State boolean
---@field Enabled boolean
---@field ComponentId integer
---@field ComponentName string
---@field Hysteresis number
---@field Condition number
---@field OperatorId integer
---@field DescArg1 string
---@field DescArg2 string
---@field DescArg3 string
---@field DescArg4 string
---@field DescArg5 string
---@field DescArg6 string
---@field DescArg7 string
---@field DescArg8 string
---@field DescArg9 string
---@field DescArg10 string
---@field SuggArg1 string
---@field SuggArg2 string
---@field SuggArg3 string
---@field SuggArg4 string
---@field SuggArg5 string
---@field SuggArg6 string
---@field SuggArg7 string
---@field SuggArg8 string
---@field SuggArg9 string
---@field SuggArg10 string
Event.Event = Mdb.register_interface('bmc.kepler.Systems.Event', {
    EventKeyId = {'s', nil, false, nil},
    Reading = {'d', nil, false, nil},
    State = {'b', nil, false, nil},
    Enabled = {'b', nil, false, nil},
    ComponentId = {'y', nil, false, nil},
    ComponentName = {'s', nil, false, nil},
    Hysteresis = {'d', nil, false, nil},
    Condition = {'d', nil, false, nil},
    OperatorId = {'y', nil, false, nil},
    DescArg1 = {'s', nil, false, nil},
    DescArg2 = {'s', nil, false, nil},
    DescArg3 = {'s', nil, false, nil},
    DescArg4 = {'s', nil, false, nil},
    DescArg5 = {'s', nil, false, nil},
    DescArg6 = {'s', nil, false, nil},
    DescArg7 = {'s', nil, false, nil},
    DescArg8 = {'s', nil, false, nil},
    DescArg9 = {'s', nil, false, nil},
    DescArg10 = {'s', nil, false, nil},
    SuggArg1 = {'s', nil, false, nil},
    SuggArg2 = {'s', nil, false, nil},
    SuggArg3 = {'s', nil, false, nil},
    SuggArg4 = {'s', nil, false, nil},
    SuggArg5 = {'s', nil, false, nil},
    SuggArg6 = {'s', nil, false, nil},
    SuggArg7 = {'s', nil, false, nil},
    SuggArg8 = {'s', nil, false, nil},
    SuggArg9 = {'s', nil, false, nil},
    SuggArg10 = {'s', nil, false, nil}
}, {}, {})
return Event
