Esempio n. 1
0
        /// <summary>
        /// Initialize the object.
        /// </summary>
        /// <param name="PackageDescriptor">The <see cref="XmlNode"/> in the manifest which describes the package.</param>
        public Package(XmlNode PackageDescriptor)
        {
            if (PackageDescriptor.Attributes["ID"] == null)
            {
                throw new FrostConfigException("Package descriptor node must define an ID attribute");
            }

            PackageID = PackageDescriptor.Attributes["ID"].Value;

            if (string.IsNullOrEmpty(PackageID))
            {
                throw new FrostConfigException("Package ID must be defined, cant be null/emtpy");
            }

            XmlNode NodeChecker = PackageDescriptor.SelectSingleNode("CurrentState");

            if (NodeChecker == null)
            {
                throw new FrostConfigException("Package ", PackageID, " does not define a CurrentState node");
            }
            CurrentState = (CUR_PACKAGE_STATE)Variables.ValueParser(NodeChecker);

            ExecuteStateDescriptor  = PackageDescriptor.SelectSingleNode("ExecuteState");
            RollbackStateDescriptor = PackageDescriptor.SelectSingleNode("RollbackState");
            RequestedState          = PKG_REQUEST_STATE.PKG_REQUEST_STATE_NONE;
            ExecuteState            = PKG_ACTION_STATE.PKG_ACTION_STATE_NONE;
            RollbackState           = PKG_ACTION_STATE.PKG_ACTION_STATE_NONE;
        }
Esempio n. 2
0
        /// <summary>
        /// Initialize the object.
        /// </summary>
        /// <param name="PackageDescriptor">The <see cref="XmlNode"/> in the manifest which describes the package.</param>
        public Package(XmlNode PackageDescriptor)
        {
            if (PackageDescriptor.Attributes["ID"] == null)
            {
                throw new FrostConfigException("Package descriptor node must define an ID attribute");
            }

            PackageID = PackageDescriptor.Attributes["ID"].Value;

            if (string.IsNullOrEmpty(PackageID))
            {
                throw new FrostConfigException("Package ID must be defined, cant be null/emtpy");
            }

            XmlNode NodeChecker = PackageDescriptor.SelectSingleNode("CurrentState");
            if(NodeChecker == null)
            {
                throw new FrostConfigException("Package ", PackageID, " does not define a CurrentState node");
            }
            CurrentState = (CUR_PACKAGE_STATE)Variables.ValueParser(NodeChecker);

            ExecuteStateDescriptor = PackageDescriptor.SelectSingleNode("ExecuteState");
            RollbackStateDescriptor = PackageDescriptor.SelectSingleNode("RollbackState");
            RequestedState = PKG_REQUEST_STATE.PKG_REQUEST_STATE_NONE;
            ExecuteState = PKG_ACTION_STATE.PKG_ACTION_STATE_NONE;
            RollbackState = PKG_ACTION_STATE.PKG_ACTION_STATE_NONE;
        }