14#ifndef TGO4HTTPPROXY_H
15#define TGO4HTTPPROXY_H
19#include "TXMLEngine.h"
21#include <QNetworkAccessManager>
22#include <QNetworkReply>
36 QNetworkAccessManager
qnam;
66 XMLNodePointer_t
fNode{
nullptr};
86 void httpError(QNetworkReply::NetworkError);
94 Bool_t
IsRemote()
const override {
return kTRUE; }
98 Bool_t
GetObject(TObject *&obj, Bool_t &owner)
const override {
return kFALSE; }
134 XMLNodePointer_t
FindItem(
const char *name, XMLNodePointer_t curr =
nullptr)
const;
146 Bool_t
SubmitURL(
const char *path, Int_t waitres = -1);
148 Bool_t
PostObject(
const char *prefix, TObject *obj, Int_t waitres = -1, Bool_t destroy_after = kTRUE);
150 Bool_t
CheckUserName(
const char *expects, Bool_t dflt = kFALSE)
const;
160 void SetAccount(
const char *username,
const char *passwd);
162 Bool_t
Connect(
const char *nodename);
169 std::unique_ptr<TGo4Access>
ProvideAccess(
const char *name)
override;
185 Bool_t
SubmitCommand(
const char *name, Int_t waitres = -1,
const char *arg1 =
nullptr,
const char *arg2 =
nullptr,
const char *arg3 =
nullptr)
override;
219 const char *hname)
override;
227 Bool_t islong)
override;
242 Bool_t overwrite)
override;
246 void DisconnectAnalysis(Int_t waittime = 30, Bool_t servershutdown = kFALSE)
override;
void httpHReqError(QNetworkReply::NetworkError)
friend class TGo4HttpAccess
TGo4HttpProxy * fProxy
used only to receive hierarchy
void authenticationRequiredSlot(QNetworkReply *, QAuthenticator *)
QHttpProxy(TGo4HttpProxy *p)
friend class TGo4HttpProxy
void StartRequest(const char *url)
void regularRequestFinished()
QNetworkReply * fHReply
central manager of network requests
QNetworkAccessManager qnam
Bool_t GetObject(TObject *&obj, Bool_t &owner) const override
Bool_t CanGetObject() const override
Returns kTRUE, when object can be directly obtained with GetObject() method.
TGo4ObjectManager * fReceiver
TGo4HttpAccess(TGo4HttpProxy *proxy, XMLNodePointer_t node, Int_t kind=1, const char *extra_arg=nullptr)
Bool_t IsRemote() const override
Indicate if object is remote.
Int_t AssignObjectTo(TGo4ObjectManager *rcv, const char *path) override
Have to assign object to provided receiver.
TClass * GetObjectClass() const override
const char * GetObjectClassName() const override
void httpError(QNetworkReply::NetworkError)
virtual ~TGo4HttpAccess()
const char * GetObjectName() const override
Here Go4/ROOT-specific functionality of HttpProxy.
TGo4LevelIter * MakeIter() override
Int_t fShutdownCnt
multiple request for rate, log and messages
XMLDocPointer_t fxHierarchy
Bool_t IsAnalysisServer() const override
Bool_t DelayedRefreshNamesList(Int_t delay_sec) override
QHttpProxy fComm
pointer on dabc::Hierarchy class
friend class TGo4HttpAccess
void PrintDynListEntry(const char *fullpath) override
void RemoteTreeDraw(const char *treename, const char *varexp, const char *cutcond, const char *hname) override
Bool_t SubmitCommand(const char *name, Int_t waitres=-1, const char *arg1=nullptr, const char *arg2=nullptr, const char *arg3=nullptr) override
XMLNodePointer_t FindItem(const char *name, XMLNodePointer_t curr=nullptr) const
void ProcessUpdateTimer()
Int_t GetObjectSizeInfo() const override
Bool_t CheckUserName(const char *expects, Bool_t dflt=kFALSE) const
Bool_t IsAnalysisRunning() const override
void StartAnalysis() override
Bool_t IsAdministrator() const override
void RemotePrintEvent(const char *evname, Int_t evnumber, Int_t subid, Bool_t ishex, Bool_t islong) override
Bool_t UpdateAnalysisObject(const char *objectname, TObject *obj) override
void ReadData(TGo4Slot *slot, TDirectory *dir) override
Bool_t IsConnected() const override
Bool_t ServerHasRestrict() const
Bool_t RequestObjectStatus(const char *objectname, TGo4Slot *tgtslot) override
void SetAccount(const char *username, const char *passwd)
void SubmitAnalysisSettings() override
void Update(TGo4Slot *slot, Bool_t strong) override
Int_t NumCommandArgs(const char *name) override
void DisconnectAnalysis(Int_t waittime=30, Bool_t servershutdown=kFALSE) override
Close connection to analysis and destroys proxy with correspondent slot.
TGo4HttpAccess * SubmitRequest(const char *itemname, Int_t kind, TGo4Slot *tgtslot, const char *extra_arg=nullptr)
Bool_t IsController() const override
Int_t fStatusCnt
counter for ratemeter updates
TString fPassword
user name and password -
void ResetDebugOutputRequests() override
Int_t GetObjectKind() const override
Bool_t UpdateHierarchy(Bool_t sync=kTRUE)
TString MakeUrlPath(XMLNodePointer_t item)
void ProcessRegularMultiRequest(Bool_t finished=kFALSE)
void StopAnalysis() override
Bool_t IsGo4Analysis() const override
void ClearAllAnalysisObjects() override
void GetHReply(QByteArray &res)
counter during shutdown
void ExecuteLine(const char *line) override
std::unique_ptr< TGo4Access > ProvideAccess(const char *name) override
void SaveConfigFile(const char *fname) override
void WriteAutoSave(const char *fname, Int_t complevel, Bool_t overwrite) override
void RequestAnalysisSettings() override
Bool_t SubmitURL(const char *path, Int_t waitres=-1)
void Finalize(TGo4Slot *slot) override
Bool_t CanSubmitObjects() const override
TObject * GetAssignedObject() override
Bool_t HasSublevels() const override
QNetworkReply * fRegularReq
true if connected
Bool_t IsViewer() const override
Bool_t PostObject(const char *prefix, TObject *obj, Int_t waitres=-1, Bool_t destroy_after=kTRUE)
const char * GetContainedObjectInfo() override
void ClearAnalysisObject(const char *fullpath) override
Bool_t CheckShutdown(Bool_t force=kFALSE)
void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs) override
void RemoveObjectFromAnalysis(const char *fullpath) override
void Initialize(TGo4Slot *slot) override
Bool_t fbAnalysisRunning
counter for debug output updates
void RequestEventStatus(const char *evname, Bool_t astree, TGo4Slot *tgtslot) override
const char * GetUserName() const override
void LoadConfigFile(const char *fname) override
Bool_t RefreshNamesList() override
Int_t fDebugCnt
counter for status messages updates
TString FindCommand(const char *name) override
Bool_t NamesListReceived() const override
void ChageObjectProtection(const char *fullpath, const char *flags) override
void CloseAnalysisSettings() override
Bool_t Connect(const char *nodename)
const char * GetContainedClassName() const override
TGo4ServerProxy()
contained object info