Commit 9508e0b4d0069478a41f1d9f2f76d5776900fb64
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,30 +2071,49 @@ begin | ||
2071 | // ********************************************************************************************************** | 2071 | // ********************************************************************************************************** |
2072 | // Esta procedure tratará os comandos e suas ações, enviados em um pacote XML na requisição, conforme abaixo: | 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 | // Palavra Chave definida por Ger_Cols, enviada e armazenada no BD. A autenticação da comunicação é baseada na verificação deste valor. | 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 | // te_palavra_chave -> <TE_PALAVRA_CHAVE> | 2117 | // te_palavra_chave -> <TE_PALAVRA_CHAVE> |
2099 | 2118 | ||
2100 | // Tratamento da requisição http... | 2119 | // Tratamento da requisição http... |
@@ -2111,10 +2130,11 @@ begin | @@ -2111,10 +2130,11 @@ begin | ||
2111 | strCmd := XML_RetornaValor('cmd',strXML); | 2130 | strCmd := XML_RetornaValor('cmd',strXML); |
2112 | // As ações terão seus valores | 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 | AResponseinfo.ContentText := 'OK' | 2138 | AResponseinfo.ContentText := 'OK' |
2119 | else | 2139 | else |
2120 | AResponseinfo.ContentText := 'COMANDO NÃO PERMITIDO!'; | 2140 | AResponseinfo.ContentText := 'COMANDO NÃO PERMITIDO!'; |
@@ -2122,15 +2142,16 @@ begin | @@ -2122,15 +2142,16 @@ begin | ||
2122 | else | 2142 | else |
2123 | AResponseinfo.ContentText := 'ACESSO NÃO PERMITIDO!'; | 2143 | AResponseinfo.ContentText := 'ACESSO NÃO PERMITIDO!'; |
2124 | 2144 | ||
2125 | - if (strCmd = 'Execute') then | 2145 | + if (strCmd = 'Execute') then |
2126 | ExecutaCacic(nil) | 2146 | ExecutaCacic(nil) |
2127 | - else if (strCmd = 'Ask') then | 2147 | + else if (strCmd = 'Ask') then |
2128 | Begin | 2148 | Begin |
2129 | strFileName := XML_RetornaValor('FileName',strXML); | 2149 | strFileName := XML_RetornaValor('FileName',strXML); |
2130 | strFileHash := XML_RetornaValor('FileHash',strXML); | 2150 | strFileHash := XML_RetornaValor('FileHash',strXML); |
2131 | End | 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 | Finaliza; | 2155 | Finaliza; |
2135 | end; | 2156 | end; |
2136 | 2157 |