wiki:rfc:gsoap
Last modified 11 years ago Last modified on 09/03/15 12:01:44

Interface de acesso gSOAP TerraMA² 3.x

Tipos de dados definidos no gSOAP

No TerraMA² 3.x são usadas estruturas e enums que são definidos por meio do gSOAP no arquivo DataTypes?.gsoap, depois são encontrados no arquivo gerado soapStub.h.

Coleta

Métodos declarados em ModColeta?.gsoap, depois são encontrados no arquivo gerado soapH.h, e implementados em WebserviceTheread?.cpp

int collection__ping(std::string& answer);

Preenche 'answer' com a resposta do ping.

int collection__getLogMessages(time_t sessionId, int lastMsgId, struct wsLogMsg& msgs);

Preenche'msgs' ultimas mensagens de Log geradas apos 'lastMsgId'.

int collection__runAllCollections (void);

Envia um pedido de execução das coletas. A thread de coleta vai cuidar disso.

int collection__shutdownCollectionModule(void);

Evia dois pedidos de shutdown um será consumido pela thread de coleta e outro pela thread de Webservice.

int collection__getWeatherDataSourceList(std::vector<struct wsWeatherDataSource> & wdsList);

Consulta o banco e preenche 'wdsList' com todas as séries de dados.

int collection__getWeatherDataSourceListByServer(int serverID,std::vector<struct wsWeatherDataSource> & wdsList);

Consulta o banco e preenche 'wdsList' com as séries de dados do servidor com o 'serverID'

int collection__newWeatherDataSource    (int serverID, enum wsWeatherDataSourceGeometry wdsGeometry, .... int & newWeatherDataSourceID);

Insere uma nova série de dados do servidor 'serverID' no banco de dados, preenche 'newWeatherDataSourceID' com ID da nova série de dados.

int collection__editWeatherDataSource   (int wdsID, int serverID, ..., int & _);

Edita no banco de dados a série de dados 'wdsID' de um servidor.

int collection__deleteWeatherDataSource (int wdsID, bool deleteLayers, int & _);

Deleta do banco a série de dados 'wdsID'.

int collection__getRemoteWeatherServerList(std::vector<struct wsRemoteWeatherServer> & vrwsList);

Preenche 'vrwsList' com todos os servidores cadastrados no banco.

int collection__newRemoteWeatherServer    (std::string     name,
                                           std::string     details,
                                           std::string     address,
                                           int             nPort,
                                           enum wsProtocol protocol,
                                           std::string     userName,
                                           std::string     password,
                                           bool            lActive,
                                           int             nIntervalMinutes,
                                           std::string     basePath,
                                           int & newID);

Insere um novo servidor no banco, preenche 'newID' com o ID do servidor criado.

int collection__editRemoteWeatherServer   (int             rwsID,
                                           std::string     name,
                                           std::string     details,
                                           std::string     address,
                                           int             nPort,
                                           enum wsProtocol protocol,
                                           std::string     userName,
                                           std::string     password,
                                           bool            lActive,
                                           int             nIntervalMinutes,
                                           std::string     basePath,
                                           int & _);

Edita um servidor 'rwsID'.

int collection__deleteRemoteWeatherServer (int idServ, bool deleteLayers, int & _);

Remove o servidor 'idServ'.

int collection__getEligibleThemesForFilter(std::vector<struct wsTheme> & wsThemes);

Preenche 'wsThemes' com todos os temas que tem dados espaciais do tipo poligono e não são temas-alerta de uma análise.

int collection__getPCDThemes(std::vector<struct wsPCDTheme> & wsPCDThemes);

Preenche 'wsPCDThemes' com todas as pcds cadastradas.

int collection__getPCDColPtsByTheme(struct wsProjectionParams proj,
									int themeID,
	                                std::string attributeName,
	                                std::string mask,
                                    std::vector<struct wsPCD>& result);

Dado um tema, preenche 'result' com as PCDs contidas nele

int collection__getArchivingRules(std::vector<struct wsArchivingRule>& result);

Preenche 'result' com todas as regras de arquivamento.

int collection__saveArchivingRules(std::vector<struct wsArchivingRule> archivingRules, int & _);

Salva todas as regras de arquivamento contidas em 'archivingRules'.

int collection__getValidStudyInterval(struct wsTimestampInterval& interval);

Olha o log de coletas para definir o intervalo em que há dados, para que se possa escolher o possível intervalo para se rodar um estudo. Preenche 'interval' com o intervalo válido.

int collection__getStudyEvents(int initialYear,
							   int initialMonth,
							   int initialDay,
							   int initialHour,
							   int initialMinutes,
							   int initialSeconds,
							   int finalYear,
							   int finalMonth,
							   int finalDay,
							   int finalHour,
							   int finalMinutes,
							   int finalSeconds,
							   int tolerance,
							   std::vector<struct wsStudyEvent>& result);

Preenche 'result' com os horários de eventos de coleta e análise em um estudo.

int collection__getEligibleThemesForIntersection(std::vector<struct wsTheme> & themes);

Preenche 'themes' com temas que poderão ser usados na intesrsecção. O tema deve estar associado a um layer que possua apenas uma representação e esta representação não pode ser do tipo TeCELLS, não pode ser o tema-alerta de uma regra de análise, não pode representar um layer produzido por uma análise, não pode ser um tema-fonte de dados (prefixo 'PLEN') e não pode ser um tema de legenda ('prefixo 'BASE').

int collection__getWFSLayerAttributes(std::string url, std::string weatherServerDataMask, std::vector<struct wsDBColumn>& result);

Preenche 'result' com os atributos do um layer WFS que casar com a máscara passada em 'weatherServerDataMask'.

int collection__getSurfaceList(int idServ, std::vector<struct wsWeatherDataPcdSurface> & result);

Preenche 'result' com as superficies presentes no servidor 'idServ'