Exemplo n.º 1
0
        /// <summary>
        /// Convert the Xml representation of a ExportedKws object to its
        /// ExportedKws object equivalent.
        /// </summary>
        public static ExportedKws FromXml(XmlElement parent)
        {
            ExportedKws kws = new ExportedKws();
            kws.ExportedVersion = UInt32.Parse(parent.GetAttribute("version"));
            if (kws.ExportedVersion > 3)
                throw new Exception("Unsupported Kws version ('" + kws.ExportedVersion + "').");

            XmlElement kasIDElem = Misc.GetXmlChildElement(parent, "KasID");
            if (kasIDElem == null) throw new Exception("KasID element not present");
            kws.Creds.KasID = KasIdentifier.FromXml(kasIDElem);

            kws.Creds.ExternalID = UInt64.Parse(Misc.GetXmlChildValue(parent, "ExternalID", "0"));
            kws.Creds.EmailID = Misc.GetXmlChildValue(parent, "EmailID", "");
            kws.Creds.KwsName = Misc.GetXmlChildValue(parent, "KwsName", "");
            kws.Creds.UserName = Misc.GetXmlChildValue(parent, "UserName", "");
            kws.Creds.UserEmailAddress = Misc.GetXmlChildValue(parent, "UserEmailAddress", "");
            kws.Creds.InviterName = Misc.GetXmlChildValue(parent, "InviterName", "");
            kws.Creds.InviterEmailAddress = Misc.GetXmlChildValue(parent, "InviterEmailAddress", "");
            kws.Creds.AdminFlag = bool.Parse(Misc.GetXmlChildValue(parent, "AdminFlag", "False"));
            kws.Creds.PublicFlag = bool.Parse(Misc.GetXmlChildValue(parent, "PublicFlag", "False"));
            kws.Creds.SecureFlag = bool.Parse(Misc.GetXmlChildValue(parent, "SecureFlag", "True"));
            kws.Creds.UserID = UInt32.Parse(Misc.GetXmlChildValue(parent, "UserID", "0"));
            kws.Creds.Pwd = Misc.GetXmlChildValue(parent, "Pwd", "");
            kws.Creds.Ticket = Convert.FromBase64String(Misc.GetXmlChildValue(parent, "Ticket", ""));
            kws.Creds.KwmoAddress = Misc.GetXmlChildValue(parent, "KwmoAddress", "");
            kws.FolderPath = Misc.GetXmlChildValue(parent, "FolderPath", "");

            // Normalize the ticket value.
            if (kws.Creds.Ticket != null && kws.Creds.Ticket.Length == 0) kws.Creds.Ticket = null;

            return kws;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Helper method that wraps a Kws export and its parent folder path.
        /// </summary>
        private void ExportKws(Workspace kws, XmlDocument doc, XmlElement parent)
        {
            // Bail out if we cannot export the workspace.
            if (!kws.Sm.CanExport()) return;

            // Get the parent folder of this workspace.
            KwsBrowserNode node = UiBroker.Browser.GetKwsNodeByKws(kws);
            Debug.Assert(node != null);

            ExportedKws expKws = new ExportedKws(kws, node.Parent.FullPath);

            expKws.ToXml(doc, parent);
        }