Esempio n. 1
0
        public void SetFileWritingCallback(Int64 fileWriteCallback)
        {
            IntPtr ptrFileWriteDelegate = new IntPtr(fileWriteCallback);

            this.nativeFileWriteCallback = (FileWriteCallback)Marshal.GetDelegateForFunctionPointer <FileWriteCallback>(ptrFileWriteDelegate);
            this.rtFileWriteCallback     = RTFileWriteCallback;
        }
Esempio n. 2
0
        public PlayerShipDatabase()
        {
            ModuleManager.Modules.Add(this);

            _readCompleted  = new FileReadCallback <PlayerShip>(ReadCompleted);
            _writeCompleted = new FileWriteCallback(WriteCompleted);
        }
Esempio n. 3
0
        public void QueueOverwriteSerialize <T>(string filePath, T objectToWrite, FileWriteCallback callback) where T : new()
        {
            var methodName = "QueueOverwriteSerialize";

            LogTrace(methodName, "FilePath: {0}", filePath);

            var stateInfo = new FileWriteStateObject <T>(filePath, callback, objectToWrite);

            //Build a new thread...
            var thread = new Thread(OverwriteSerializeFile <T>)
            {
                Name         = "FileManager Serializer",
                IsBackground = true
            };

            //Add the thread to the dictionary and start it

            lock (_workerThreadsByRequestedFile)
            {
                _workerThreadsByRequestedFile.Add(filePath, thread);

                //foreach (var key in _workerThreadsByRequestedFile.Keys)
                //{
                //    LogTrace(methodName, "Dictionary has file path: {0}", key);
                //}

                //LogTrace(methodName, "Started thread for file path: {0}", filePath);
                _workerThreadsByRequestedFile[filePath].Start(stateInfo);
            }
        }
Esempio n. 4
0
        public AllianceCache(IFileManager fileManager)
        {
            ModuleName = "AllianceCache";

            _fileManager = fileManager;

            _fileReadCallback  = FileReadCompleted;
            _fileWriteCallback = FileWriteCompleted;

            _dataDirectory            = Path.Combine(StealthBot.Directory, "Data");
            _allianceDatabaseFileName = Path.Combine(_dataDirectory, Filename);
        }
Esempio n. 5
0
        internal AgentCache(IFileManager fileManager, IMeCache meCache, IConfiguration configuration, IEveWindowProvider eveWindowProvider)
        {
            _fileManager       = fileManager;
            _meCache           = meCache;
            _configuration     = configuration;
            _eveWindowProvider = eveWindowProvider;

            ModuleName = "AgentCache";

            _readCallback  = FileReadCallback;
            _writeCallback = FileWriteCallback;

            ModuleManager.ModulesToPulse.Add(this);
        }
Esempio n. 6
0
        public void Write(long position, FileBuffer buffer, FileWriteCallback callback)
        {
            FileWriteRoutine routine = new FileWriteRoutine(handle, buffer);
            FileWriteResult  result  = new FileWriteResult
            {
                Handle    = handle,
                File      = this,
                Position  = position,
                Buffer    = buffer,
                OnWritten = callback
            };

            routine.Execute(result);
        }
Esempio n. 7
0
        public NpcBountyCache()
        {
            ModuleName = "NpcBountyCache";
            IsEnabled  = false;

            _filePath    = string.Format("{0}\\{1}", _dataDirectory, "NpcBounties.bin");
            _oldFilePath = string.Format("{0}\\{1}", _dataDirectory, "EVEDB_Spawns.xml");

            _fileReadCallback  = FileReadCompleted;
            _fileWriteCallback = FileWriteCompleted;

            //Convert the old db if necessary
            try
            {
                ConvertEvebotBountyDatabase();
            }
// ReSharper disable EmptyGeneralCatchClause
            catch
// ReSharper restore EmptyGeneralCatchClause
            { }
        }
Esempio n. 8
0
 public FileWriteStateObject(string filePath, FileWriteCallback callback, T objectToWrite)
 {
     FilePath      = filePath;
     Callback      = callback;
     ObjectToWrite = objectToWrite;
 }