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'
