'''
 Generated by EZX Code Generator  
Date: 02/24/22 
'''


from iserver.EzxMsg import EzxMsg, EzxMsgMeta
from iserver.msgs import *
from iserver.enums import api

from .Destination import Destination
from .Settings import Settings
from .Properties import Properties


class OMSSettings(EzxMsg, metaclass=EzxMsgMeta):

	__block_fields__ = {
		'DESTSTRATBL' : Field('destStrategies', 'DESTSTRATBL', noop_decode_func, update_list_item), 
		'SETTBLK' : Field('settings', 'SETTBLK', noop_decode_func, ), 
		'PRPSBLK' : Field('companySettings', 'PRPSBLK', noop_decode_func, ), 
	}

	def __init__(self, **kwargs):
		self.destStrategies : list[Destination] = None
		self.settings : Settings = None
		self.companySettings : Properties = None
		super(OMSSettings, self).__init__(**kwargs)
		self.msg_type = api.IserverMsgType.APPLICATION.value
		self.msg_subtype = api.IserverMsgSubType.OMSSETTINGS.value

