Exemple #1
0
            /// <summary>
            /// Loads the IMET Header of a stream.
            /// </summary>
            /// <param name="fileOrHeader"></param>
            /// <returns></returns>
            public static IMET Load(Stream fileOrHeader)
            {
                HeaderType type = DetectHeader(fileOrHeader);

                if (type != HeaderType.IMET && type != HeaderType.ShortIMET)
                {
                    throw new Exception("No IMET Header found!");
                }

                IMET s = new IMET();

                if (type == HeaderType.ShortIMET)
                {
                    s.isShortImet = true;
                }

                s.parseHeader(fileOrHeader);
                return(s);
            }
Exemple #2
0
            /// <summary>
            /// Creates a new IMET Header.
            /// </summary>
            /// <param name="isShortImet"></param>
            /// <param name="iconSize"></param>
            /// <param name="bannerSize"></param>
            /// <param name="soundSize"></param>
            /// <param name="titles"></param>
            /// <returns></returns>
            public static IMET Create(bool isShortImet, int iconSize, int bannerSize, int soundSize, params string[] titles)
            {
                IMET s = new IMET();

                s.isShortImet = isShortImet;

                for (int i = 0; i < titles.Length; i++)
                {
                    s.setTitleFromString(titles[i], i);
                }

                for (int i = titles.Length; i < 8; i++)
                {
                    s.setTitleFromString((titles.Length > 1) ? titles[1] : titles[0], i);
                }

                s.iconSize   = (uint)iconSize;
                s.bannerSize = (uint)bannerSize;
                s.soundSize  = (uint)soundSize;

                return(s);
            }
Exemple #3
0
            /// <summary>
            /// Loads the IMET Header of a byte array.
            /// </summary>
            /// <param name="fileOrHeader"></param>
            /// <returns></returns>
            public static IMET Load(byte[] fileOrHeader)
            {
                HeaderType type = DetectHeader(fileOrHeader);

                if (type != HeaderType.IMET && type != HeaderType.ShortIMET)
                {
                    throw new Exception("No IMET Header found!");
                }

                IMET s = new IMET();

                if (type == HeaderType.ShortIMET)
                {
                    s.isShortImet = true;
                }

                MemoryStream ms = new MemoryStream(fileOrHeader);

                try { s.parseHeader(ms); }
                catch { ms.Dispose(); throw; }

                ms.Dispose();
                return(s);
            }
Exemple #4
0
            /// <summary>
            /// Creates a new IMET Header.
            /// </summary>
            /// <param name="isShortImet"></param>
            /// <param name="iconSize"></param>
            /// <param name="bannerSize"></param>
            /// <param name="soundSize"></param>
            /// <param name="titles"></param>
            /// <returns></returns>
            public static IMET Create(bool isShortImet, int iconSize, int bannerSize, int soundSize, params string[] titles)
            {
                IMET s = new IMET();
                s.isShortImet = isShortImet;

                for (int i = 0; i < titles.Length; i++)
                    s.setTitleFromString(titles[i], i);

                for (int i = titles.Length; i < 8; i++)
                    s.setTitleFromString((titles.Length > 1) ? titles[1] : titles[0], i);

                s.iconSize = (uint)iconSize;
                s.bannerSize = (uint)bannerSize;
                s.soundSize = (uint)soundSize;

                return s;
            }
Exemple #5
0
            /// <summary>
            /// Loads the IMET Header of a stream.
            /// </summary>
            /// <param name="fileOrHeader"></param>
            /// <returns></returns>
            public static IMET Load(Stream fileOrHeader)
            {
                HeaderType type = DetectHeader(fileOrHeader);
                if (type != HeaderType.IMET && type != HeaderType.ShortIMET)
                    throw new Exception("No IMET Header found!");

                IMET s = new IMET();
                if (type == HeaderType.ShortIMET) s.isShortImet = true;

                s.parseHeader(fileOrHeader);
                return s;
            }
Exemple #6
0
            /// <summary>
            /// Loads the IMET Header of a byte array.
            /// </summary>
            /// <param name="fileOrHeader"></param>
            /// <returns></returns>
            public static IMET Load(byte[] fileOrHeader)
            {
                HeaderType type = DetectHeader(fileOrHeader);
                if (type != HeaderType.IMET && type != HeaderType.ShortIMET)
                    throw new Exception("No IMET Header found!");

                IMET s = new IMET();
                if (type == HeaderType.ShortIMET) s.isShortImet = true;

                MemoryStream ms = new MemoryStream(fileOrHeader);
                try { s.parseHeader(ms); }
                catch { ms.Dispose(); throw; }

                ms.Dispose();
                return s;
            }