Esempio n. 1
0
        public void MagicOpen()
        {
            if (_magic != IntPtr.Zero)
            {
                throw new Exception("Cannot open DeterminesTypeContent instance already opened.");
            }
            _magic = magic_open(MagicFlags.MagicDebug);


            _flags = MagicFlags.MagicNone;
        }
Esempio n. 2
0
        /// <summary>
        /// Get file type of buffer.
        /// </summary>
        private string CheckBuffer(ReadOnlySpan <byte> span, MagicFlags flags)
        {
            lock (_lock)
            {
                if (!_magicFileLoaded)
                {
                    _magic.Load(_magicFile);
                    _magicFileLoaded = true;
                }

                _magic.SetFlags(flags);
                return(_magic.CheckBuffer(span));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Get file type of file.
        /// </summary>
        private string CheckFile(string filePath, MagicFlags flags)
        {
            lock (_lock)
            {
                if (!_magicFileLoaded)
                {
                    _magic.Load(_magicFile);
                    _magicFileLoaded = true;
                }

                _magic.SetFlags(flags);
                return(_magic.CheckFile(filePath));
            }
        }
Esempio n. 4
0
 private int MagicSetflags(MagicFlags flags)
 {
     return(magic_setflags(_magic, flags));
 }
Esempio n. 5
0
 private extern static int magic_setflags(IntPtr magicCookie, MagicFlags flags);
Esempio n. 6
0
 private extern static IntPtr magic_open(MagicFlags flags);
Esempio n. 7
0
        private void SpellDefine(SpellDefinitions def, string name, int maxMana, int minMana, int manaChange, PositionTypes position,
			MagicTargetFlags targets, bool violent, MagicFlags routines, string wearOffMessage)
        {
            SpellData spell = new SpellData ();

            spell.Name = name;
            spell.ManaMaximum = maxMana;
            spell.ManaMinimum = minMana;
            spell.ManaChange = manaChange;
            spell.MinimumPosition = position;
            spell.Targets = targets;
            spell.Violent = violent;
            spell.Routines = routines;
            spell.WearOffMessage = wearOffMessage;

            for (int i = 0; i < (int)ClassTypes.Index; i++)
                spell.MinimumLevel[i] = GlobalConstants.LVL_IMMORT;

            _spells.Add (def, spell);
        }
Esempio n. 8
0
 public Magic(MagicFlags flags)
 {
     flags = flags | MagicFlags.MAGIC_PRESERVE_ATIME;
     _magic = magic_open(flags);
     magic_load(_magic, null); // load default database
     ThrowIfError();
 }
Esempio n. 9
0
 private static extern IntPtr magic_open(MagicFlags flags);