Exemple #1
0
        /// <summary>
        /// Ensures the eve flags data have been intialized.
        /// </summary>
        private static void EnsureInitialized()
        {
            if (s_isLoaded)
            {
                return;
            }

            SerializableEveFlags result = Util.DeserializeXmlFromString <SerializableEveFlags>(
                Properties.Resources.Flags, APIProvider.RowsetsTransform);

            Import(result);
        }
Exemple #2
0
        /// <summary>
        /// Imports the specified result.
        /// </summary>
        /// <param name="result">The result.</param>
        private static void Import(SerializableEveFlags result)
        {
            if (result == null)
            {
                EveMonClient.Trace("failed");
                return;
            }

            EveMonClient.Trace("begin");

            s_eveFlags = result.EVEFlags;
            s_isLoaded = true;

            EveMonClient.Trace("done");
        }
Exemple #3
0
        /// <summary>
        /// Ensures the importation.
        /// </summary>
        private static void EnsureImportation()
        {
            // Quit if we already checked a minute ago or query is pending
            if (s_nextCheckTime > DateTime.UtcNow || s_queryPending)
            {
                return;
            }

            s_nextCheckTime = DateTime.UtcNow.AddMinutes(1);

            string filename = LocalXmlCache.GetFileInfo(Filename).FullName;

            // Update the file if we don't have it
            if (!File.Exists(filename))
            {
                Task.WhenAll(UpdateFileAsync());
                return;
            }

            // Exit if we have already imported the list
            if (s_isLoaded)
            {
                return;
            }

            // Deserialize the xml file
            SerializableEveFlags result = Util.DeserializeXmlFromFile <SerializableEveFlags>(filename, APIProvider.RowsetsTransform);

            // In case the file has an error we prevent the importation
            if (result == null)
            {
                FileHelper.DeleteFile(filename);

                s_nextCheckTime = DateTime.UtcNow;

                return;
            }

            // Import the data
            Import(result);
        }
Exemple #4
0
        /// <summary>
        /// Imports the specified result.
        /// </summary>
        /// <param name="result">The result.</param>
        private static void Import(SerializableEveFlags result)
        {
            if (result == null)
            {
                EveMonClient.Trace("failed");
                return;
            }

            EveMonClient.Trace("begin");

            s_eveFlags.Clear();
            // This is way faster to look up flags
            foreach (var flag in result.EVEFlags)
            {
                s_eveFlags.Add(flag.ID, flag);
            }

            s_isLoaded = true;

            EveMonClient.Trace("done");
        }