Commit 9508e0b4d0069478a41f1d9f2f76d5776900fb64

Authored by anderson.peterle@previdencia.gov.br
1 parent 2166f4c0
Exists in master

Acrescentado o comando "Registry" para comunicacao entre o Gerente WEB e agente …

…principal no MS-Windows (cacic2.exe)

git-svn-id: http://svn.softwarepublico.gov.br/svn/cacic/cacic/trunk/agente-windows@519 fecfc0c7-e812-0410-ae72-849f08638ee7
Showing 1 changed file with 46 additions and 25 deletions   Show diff stats
main.pas
... ... @@ -2071,30 +2071,49 @@ begin
2071 2071 // **********************************************************************************************************
2072 2072 // Esta procedure tratará os comandos e suas ações, enviados em um pacote XML na requisição, conforme abaixo:
2073 2073 // **********************************************************************************************************
2074   - // Execute -> Comando que forçará a execução do Gerente de Coletas (Sugestão: Configurar coletas forçadas no Gerente WEB e executar esse comando)
2075   - // Requisição: Tag <Execute>
2076   - // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK'
  2074 + // Execute -> Comando que forçará a execução do Gerente de Coletas (Sugestão: Configurar coletas forçadas no Gerente WEB e executar esse comando)
  2075 + // Requisição: Tag <Execute>
  2076 + // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK'
2077 2077 //
2078   - // Ask -> Comando que perguntará sobre a existência de um determinado arquivo na estação.
2079   - // Requisição: Tag <FileName>: Nome do arquivo a pesquisar no repositório local
2080   - // Tag <FileHash>: Hash referente ao arquivo a ser pesquisado no repositório local
2081   - // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK';
2082   - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Tenho' ou
2083   - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'NaoTenho' ou
2084   - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Baixando' ou
2085   - // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Ocupado'.
  2078 + // Ask -> Comando que perguntará sobre a existência de um determinado arquivo na estação.
  2079 + // Requisição: Tag <FileName>: Nome do arquivo a pesquisar no repositório local
  2080 + // Tag <FileHash>: Hash referente ao arquivo a ser pesquisado no repositório local
  2081 + // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK';
  2082 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Tenho' ou
  2083 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'NaoTenho' ou
  2084 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Baixando' ou
  2085 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'Ocupado'.
2086 2086 //
2087 2087 //
2088   - // Erase -> Comando que provocará a exclusão de determinado arquivo.
2089   - // Deverá ser acompanhado das tags <FileName> e <FileHash>
2090   - // Requisição: Tag <FileName>: Nome do arquivo a ser excluído do repositório local
2091   - // Tag <FileHash>: Hash referente ao arquivo a ser excluído do repositório local
2092   - // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK';
  2088 + // Erase -> Comando que provocará a exclusão de determinado arquivo.
  2089 + // Deverá ser acompanhado das tags <FileName> e <FileHash>
  2090 + // Requisição: Tag <FileName>: Nome do arquivo a ser excluído do repositório local
  2091 + // Tag <FileHash>: Hash referente ao arquivo a ser excluído do repositório local
  2092 + // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK';
  2093 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'AcaoExecutada' ou
  2094 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'ArquivoNaoEncontrado' ou
  2095 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'EscritaNaoPermitida';
2093 2096 //
  2097 + // Registry -> Comando que provocará ação no Registry de estações com MS-Windows.
  2098 + // Deverá ser acompanhado das tags <Path>, <Action>, <Condition> e <Value>
  2099 + // Requisição: Tag <Path> : Caminho no Registry
  2100 + // Tag <Action> : Ação para execução
  2101 + // SAVE => Salva o valor contido na tag <Value> de acordo com condição contida na tag <Condition>
  2102 + // ERASE => Apaga a chave de acordo com condição contida na tag <Condition>
  2103 + // Tag <Condition> : Condiçção para execução da ação
  2104 + // EQUAL => Se o valor contido na tag <Value> for IGUAL ao valor encontrado na chave
  2105 + // DIFFER => Se o valor contido na tag <Value> for DIFERENTE ao valor encontrado na chave
  2106 + // NONE => Nenhuma condição, permitindo a execução da ação de forma incondicional
  2107 + // Tag <Value> : Valor a ser utilizado na ação
  2108 + // Respostas: AResponseinfo.ContentText := AResponseinfo.ContentText + 'OK';
  2109 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'AcaoExecutada' ou
  2110 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'ChaveNaoEncontrada' ou
  2111 + // AResponseinfo.ContentText := AResponseinfo.ContentText + 'EscritaNaoPermitida';
2094 2112 //
2095   - // Exit -> Comando para finalização do agente principal (bandeja)
  2113 + // Exit -> Comando para finalização do agente principal (bandeja)
2096 2114  
2097 2115 // Palavra Chave definida por Ger_Cols, enviada e armazenada no BD. A autenticação da comunicação é baseada na verificação deste valor.
  2116 + // A geração da palavra chave dar-se-á a cada contato do Ger_Cols com o módulo Gerente WEB
2098 2117 // te_palavra_chave -> <TE_PALAVRA_CHAVE>
2099 2118  
2100 2119 // Tratamento da requisição http...
... ... @@ -2111,10 +2130,11 @@ begin
2111 2130 strCmd := XML_RetornaValor('cmd',strXML);
2112 2131 // As ações terão seus valores
2113 2132  
2114   - if (strCmd = 'Execute') or
2115   - (strCmd = 'Ask') or
2116   - (strCmd = 'Erase') or
2117   - (strCmd = 'Exit') then
  2133 + if (strCmd = 'Execute') or
  2134 + (strCmd = 'Ask') or
  2135 + (strCmd = 'Erase') or
  2136 + (strCmd = 'Registry') or
  2137 + (strCmd = 'Exit') then
2118 2138 AResponseinfo.ContentText := 'OK'
2119 2139 else
2120 2140 AResponseinfo.ContentText := 'COMANDO NÃO PERMITIDO!';
... ... @@ -2122,15 +2142,16 @@ begin
2122 2142 else
2123 2143 AResponseinfo.ContentText := 'ACESSO NÃO PERMITIDO!';
2124 2144  
2125   - if (strCmd = 'Execute') then
  2145 + if (strCmd = 'Execute') then
2126 2146 ExecutaCacic(nil)
2127   - else if (strCmd = 'Ask') then
  2147 + else if (strCmd = 'Ask') then
2128 2148 Begin
2129 2149 strFileName := XML_RetornaValor('FileName',strXML);
2130 2150 strFileHash := XML_RetornaValor('FileHash',strXML);
2131 2151 End
2132   - else if (strCmd = 'Erase') then
2133   - else if (strCmd = 'Exit') then
  2152 + else if (strCmd = 'Erase') then
  2153 + else if (strCmd = 'Registry') then
  2154 + else if (strCmd = 'Exit') then
2134 2155 Finaliza;
2135 2156 end;
2136 2157  
... ...