OpendTect  6.6
odnetworkaccess.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Salil Agarwal
8  Date: Oct 2012
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "networkmod.h"
14 #include "bufstringset.h"
15 #include "executor.h"
16 #include "uistring.h"
17 
18 class QByteArray;
19 class QEventLoop;
20 class QFile;
21 class QNetworkAccessManager;
22 class ODNetworkReply;
23 class DataBuffer;
24 class od_ostream;
25 
26 namespace Network
27 {
28 
31  mGlobal(Network) bool downloadFile(const char* url,const char* outpath,
32  uiString& errmsg,TaskRunner* taskr=0);
33 
35  const char* outpath,
36  uiString& errmsg,
37  TaskRunner* taskr=0);
38 
40  BufferStringSet& outpaths,
41  uiString& errmsg,
42  TaskRunner* taskr=0);
43 
44  mGlobal(Network) bool downloadToBuffer(const char* url,DataBuffer*,
45  uiString& errmsg,
46  TaskRunner* taskr=0);
47 
48  mGlobal(Network) bool uploadFile(const char* url,const char* localfname,
49  const char* remotefname,
50  const char* ftype,const IOPar& postvars,
51  uiString& errmsg,TaskRunner* taskr=0,
52  uiString* returnedmessage = 0);
53 
54  mGlobal(Network) bool uploadQuery(const char* url,const IOPar& querypars,
55  uiString& errmsg,TaskRunner* taskr=0,
56  uiString* returnedmessage = 0);
57 
58  mGlobal(Network) bool getRemoteFileSize(const char* url,od_int64& size,
59  uiString& errmsg);
60 
61  mGlobal(Network) bool ping(const char* url, uiString& msg );
62 
63  mGlobal(Network) void setHttpProxy(const char* hostname,int port,
64  bool auth=false,
65  const char* username=0,
66  const char* password=0);
67 
71 
72  inline const char* sKeyUseProxy() { return "Use Proxy"; }
73  inline const char* sKeyUseAuthentication()
74  { return "Use Authentication";}
75  inline const char* sKeyProxyHost()
76  { return "Http Proxy Host"; }
77  inline const char* sKeyProxyPort()
78  { return "Http Proxy Port"; }
79  inline const char* sKeyProxyUserName()
80  { return "Http Proxy User Name"; }
81  inline const char* sKeyProxyPassword()
82  { return "Http Proxy Password"; }
83  inline const char* sKeyCryptProxyPassword()
84  { return "Http Crypt Proxy Password"; }
85 
86  // File:: counterparts
87  mGlobal(Network) bool exists(const char*);
89  mGlobal(Network) bool getContent(const char*,BufferString&);
90 
91 }
92 
96 public:
97  FileDownloader(const char* url);
98  FileDownloader(const char* url,DataBuffer* db);
100  const BufferStringSet& outputpaths);
102 
104 
106  int nextStep();
107  od_int64 nrDone() const;
109  od_int64 totalNr() const;
110 
111 protected:
112 
113  void setSaveAsPaths(const BufferStringSet&,const char*);
115 
116  bool writeData();
117  bool writeDataToFile(const char* buffer, int size);
118  bool writeDataToBuffer(const char* buffer, int size);
119 
126 
127  QEventLoop* qeventloop_;
129 
133 };
134 
135 
139 public:
140  DataUploader(const char* url,const DataBuffer& data,
141  BufferString& header);
143 
145  int nextStep();
146  od_int64 nrDone() const;
148  od_int64 totalNr() const;
149 
150 protected:
151 
153 
154  bool init_;
157 
158  QByteArray* data_;
159  QEventLoop* qeventloop_;
161 
165 };
166 
167 
169 {
170 public:
171  virtual bool setFromUser() = 0;
172 
175 protected:
176 
178 };
179 
180 mGlobal(Network) QNetworkAccessManager& ODNA();
181 
FileDownloader::FileDownloader
FileDownloader(const BufferStringSet &urls, const BufferStringSet &outputpaths)
Network::sKeyUseAuthentication
const char * sKeyUseAuthentication()
Definition: odnetworkaccess.h:73
DataUploader::uiMessage
uiString uiMessage() const
will be message() again in 7.x
FileDownloader::osd_
od_ostream * osd_
Definition: odnetworkaccess.h:125
Network::getRemoteFileSize
bool getRemoteFileSize(const char *url, od_int64 &size, uiString &errmsg)
Network::sKeyCryptProxyPassword
const char * sKeyCryptProxyPassword()
Definition: odnetworkaccess.h:83
Network::getContent
bool getContent(const char *, BufferString &)
FileDownloader::writeDataToBuffer
bool writeDataToBuffer(const char *buffer, int size)
FileDownloader::getDownloadSize
od_int64 getDownloadSize()
DataUploader::errorOccured
int errorOccured()
DataUploader::nrDone
od_int64 nrDone() const
FileDownloader
>Provides file download facility
Definition: odnetworkaccess.h:95
uistring.h
mGlobal
#define mGlobal(module)
Definition: commondefs.h:180
ODNA
QNetworkAccessManager & ODNA()
DataUploader::init_
bool init_
Definition: odnetworkaccess.h:154
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
od_int64
#define od_int64
Definition: plftypes.h:35
NetworkUserQuery::inst_
static NetworkUserQuery * inst_
Definition: odnetworkaccess.h:177
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
NetworkUserQuery::getNetworkUserQuery
static NetworkUserQuery * getNetworkUserQuery()
FileDownloader::mODTextTranslationClass
mODTextTranslationClass(FileDownloader)
Network::setHttpProxyFromIOPar
void setHttpProxyFromIOPar(const IOPar &)
Network
Definition: jobcommunic.h:22
Network::sKeyProxyPort
const char * sKeyProxyPort()
Definition: odnetworkaccess.h:77
FileDownloader::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
Network::exists
bool exists(const char *)
FileDownloader::odnr_
ODNetworkReply * odnr_
Definition: odnetworkaccess.h:128
Network::downloadFiles
bool downloadFiles(BufferStringSet &urls, const char *outpath, uiString &errmsg, TaskRunner *taskr=0)
DataUploader::totalNr
od_int64 totalNr() const
DataUploader::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
Network::setHttpProxyFromSettings
void setHttpProxyFromSettings()
Network::downloadToBuffer
bool downloadToBuffer(const char *url, DataBuffer *, uiString &errmsg, TaskRunner *taskr=0)
Network::sKeyProxyUserName
const char * sKeyProxyUserName()
Definition: odnetworkaccess.h:79
DataUploader
>Provides file or data upload facility
Definition: odnetworkaccess.h:138
FileDownloader::nrdone_
od_int64 nrdone_
Definition: odnetworkaccess.h:130
FileDownloader::uiMessage
uiString uiMessage() const
will be message() again in 7.x
FileDownloader::nrDone
od_int64 nrDone() const
Network::setHttpProxy
void setHttpProxy(const char *hostname, int port, bool auth=false, const char *username=0, const char *password=0)
FileDownloader::errorOccured
int errorOccured()
DataBuffer
Raw data array with memory management.
Definition: databuf.h:22
FileDownloader::nrfilesdownloaded_
int nrfilesdownloaded_
Definition: odnetworkaccess.h:123
FileDownloader::msg_
uiString msg_
Definition: odnetworkaccess.h:132
Network::sKeyUseProxy
const char * sKeyUseProxy()
Definition: odnetworkaccess.h:72
NetworkUserQuery
Definition: odnetworkaccess.h:169
FileDownloader::FileDownloader
FileDownloader(const char *url)
FileDownloader::initneeded_
bool initneeded_
Definition: odnetworkaccess.h:120
TaskRunner
Class that can execute a task.
Definition: task.h:170
FileDownloader::FileDownloader
FileDownloader(const char *url, DataBuffer *db)
DataUploader::url_
BufferString url_
Definition: odnetworkaccess.h:155
executor.h
DataUploader::data_
QByteArray * data_
Definition: odnetworkaccess.h:158
FileDownloader::databuffer_
DataBuffer * databuffer_
Definition: odnetworkaccess.h:124
Network::sKeyProxyPassword
const char * sKeyProxyPassword()
Definition: odnetworkaccess.h:81
FileDownloader::saveaspaths_
BufferStringSet saveaspaths_
Definition: odnetworkaccess.h:122
Network::getFileSize
od_int64 getFileSize(const char *)
FileDownloader::totalnr_
od_int64 totalnr_
Definition: odnetworkaccess.h:131
DataUploader::DataUploader
DataUploader(const char *url, const DataBuffer &data, BufferString &header)
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
bufstringset.h
NetworkUserQuery::setFromUser
virtual bool setFromUser()=0
DataUploader::msg_
uiString msg_
Definition: odnetworkaccess.h:164
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
Network::uploadFile
bool uploadFile(const char *url, const char *localfname, const char *remotefname, const char *ftype, const IOPar &postvars, uiString &errmsg, TaskRunner *taskr=0, uiString *returnedmessage=0)
DataUploader::mODTextTranslationClass
mODTextTranslationClass(DataUploader)
DataUploader::odnr_
ODNetworkReply * odnr_
Definition: odnetworkaccess.h:160
FileDownloader::totalNr
od_int64 totalNr() const
DataUploader::nrdone_
od_int64 nrdone_
Definition: odnetworkaccess.h:162
FileDownloader::writeDataToFile
bool writeDataToFile(const char *buffer, int size)
NetworkUserQuery::setNetworkUserQuery
static void setNetworkUserQuery(NetworkUserQuery *)
DataUploader::totalnr_
od_int64 totalnr_
Definition: odnetworkaccess.h:163
FileDownloader::writeData
bool writeData()
Network::getProxySettingsFromUser
bool getProxySettingsFromUser()
FileDownloader::~FileDownloader
~FileDownloader()
FileDownloader::qeventloop_
QEventLoop * qeventloop_
Definition: odnetworkaccess.h:127
Network::uploadQuery
bool uploadQuery(const char *url, const IOPar &querypars, uiString &errmsg, TaskRunner *taskr=0, uiString *returnedmessage=0)
ODNetworkReply
Definition: odnetworkreply.h:24
FileDownloader::setSaveAsPaths
void setSaveAsPaths(const BufferStringSet &, const char *)
FileDownloader::nextStep
int nextStep()
od_ostream
OD class for stream write common access to the user log file, or std::cout in other than od_main.
Definition: od_ostream.h:26
Network::ping
bool ping(const char *url, uiString &msg)
FileDownloader::urls_
BufferStringSet urls_
Definition: odnetworkaccess.h:121
SequentialTask
The generalization of something (e.g. a computation) where the steps must be done in sequence,...
Definition: task.h:125
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
DataUploader::qeventloop_
QEventLoop * qeventloop_
Definition: odnetworkaccess.h:159
DataUploader::header_
BufferString header_
Definition: odnetworkaccess.h:156
Network::sKeyProxyHost
const char * sKeyProxyHost()
Definition: odnetworkaccess.h:75
DataUploader::~DataUploader
~DataUploader()
Network::downloadFile
bool downloadFile(const char *url, const char *outpath, uiString &errmsg, TaskRunner *taskr=0)
DataUploader::nextStep
int nextStep()

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021