00001 /* 00002 * Copyright (C) 2006, Jose Renato Santos. 00003 * 00004 * This file may be distributed under the terms of the Q Public License 00005 * as defined by Trolltech AS of Norway and appearing in the file 00006 * LICENSE.QPL included in the packaging of this file. 00007 * 00008 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING 00009 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00010 * PURPOSE. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, 00011 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING 00012 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, 00013 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION 00014 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 00015 * 00016 */ 00017 00018 /////////////////////////////////////////////////////////////////////////////// 00019 // DiskMgrTypes.h: Data types used for Disk Manager Interface 00020 /////////////////////////////////////////////////////////////////////////////// 00021 00022 #ifndef DISKMGRTYPES_H_ 00023 #define DISKMGRTYPES_H_ 00024 00025 class CRouter; 00026 class CSystemManager; 00027 00028 // DiskMgr config data 00029 struct DiskMgrConfig 00030 { 00031 int BlockSize; // Tamanho de um bloco do disco. 00032 int MaxDisks; // Numero maximo de discos. 00033 char *MetaRoot; // Nome do caminho do diretorio com os arquivos com os 00034 // mapas de bits com os blocos livres dos discos. 00035 CRouter *router; // Ponteiro para o objeto do tipo Router associado a 00036 // classe. 00037 CSystemManager *manager; //Ponteiro para o objeto do tipo SystemManager 00038 //associado à classe 00039 int GenerateLogs; // Valor inteiro que define (se for diferente de 0) se 00040 // o log da classe deve ser gerado. 00041 int MaxReps; // Numero (maximo?) de vezes que cada bloco deve ser repetido 00042 // (para fins de confiabilidade e acesso mais eficiente?). 00043 char *ConfigsDirectory; // Nome do caminho do diretorio onde esta a 00044 // configuracao dos discos (RIOdisk.cfg) 00045 char *LogsDirectory; // Nome do caminho do diretorio onde o log deve ser 00046 // salvo. 00047 unsigned int MaxAttempts; // Numero maximo de tentativas de conectarmos a 00048 // cada um dos servidores de armazenamento 00049 // definidos em RIOdisk.cfg. 00050 unsigned int TimeBetweenAttempts; // Tempo (em segundos) entre duas 00051 // tentativas consecutivas de contactar 00052 // um dos servidores de armazenamento. 00053 bool IsFormatting; // Variavel booleana que, quando for igual a true, 00054 // indica que o servidor foi inicializado para formatar 00055 // os discos. 00056 // ------------------------------------------------------------------------ 00057 }; 00058 00059 #endif /*DISKMGRTYPES_H_*/