SimCenter Agave Client Interface  0.0.0
This repo is to be used for other SimCenter Projects which communicate with an Agave server.
Public Slots | Public Member Functions | Protected Member Functions | Friends | List of all members
AgaveHandler Class Reference

The AgaveHandler is a class for communicating with an Agave server over an https connection. More...

Public Slots

virtual QString getUserName ()
 
virtual RemoteDataReplycloseAllConnections ()
 
virtual RemoteDataReplyperformAuth (QString uname, QString passwd)
 
virtual RemoteDataReplyremoteLS (QString dirPath)
 
virtual RemoteDataReplydeleteFile (QString toDelete)
 
virtual RemoteDataReplymoveFile (QString from, QString to)
 
virtual RemoteDataReplycopyFile (QString from, QString to)
 
virtual RemoteDataReplyrenameFile (QString fullName, QString newName)
 
virtual RemoteDataReplymkRemoteDir (QString location, QString newName)
 
virtual RemoteDataReplyuploadFile (QString location, QString localFileName)
 
virtual RemoteDataReplyuploadBuffer (QString location, QByteArray fileData, QString newFileName)
 
virtual RemoteDataReplydownloadFile (QString localDest, QString remoteName)
 
virtual RemoteDataReplydownloadBuffer (QString remoteName)
 
virtual RemoteDataReplyrunRemoteJob (QString jobName, ParamMap jobParameters, QString remoteWorkingDir, QString indivJobName="", QString archivePath="")
 
virtual RemoteDataReplygetListOfJobs ()
 
virtual RemoteDataReplygetJobDetails (QString IDstr)
 
virtual RemoteDataReplystopJob (QString IDstr)
 
virtual RemoteDataReplydeleteJob (QString IDstr)
 
virtual RemoteDataInterfaceState getInterfaceState ()
 
void registerAgaveAppInfo (QString agaveAppName, QString fullAgaveName, QStringList parameterList, QStringList inputList, QString workingDirParameter)
 
AgaveTaskReplygetAgaveAppList ()
 
void setAgaveConnectionParams (QString tenant, QString clientId, QString storage)
 
RemoteDataReplyrunAgaveJob (QJsonDocument rawJobJSON)
 
- Public Slots inherited from RemoteDataInterface
virtual QString getUserName ()=0
 After login, getUserName will return the name of the user logged in.
 
virtual RemoteDataReplycloseAllConnections ()=0
 
virtual RemoteDataReplyperformAuth (QString uname, QString passwd)=0
 
virtual RemoteDataReplyremoteLS (QString dirPath)=0
 
virtual RemoteDataReplydeleteFile (QString toDelete)=0
 
virtual RemoteDataReplymoveFile (QString from, QString to)=0
 
virtual RemoteDataReplycopyFile (QString from, QString to)=0
 
virtual RemoteDataReplyrenameFile (QString fullName, QString newName)=0
 
virtual RemoteDataReplymkRemoteDir (QString location, QString newName)=0
 
virtual RemoteDataReplyuploadFile (QString location, QString localFileName)=0
 
virtual RemoteDataReplyuploadBuffer (QString location, QByteArray fileData, QString newFileName)=0
 
virtual RemoteDataReplydownloadFile (QString localDest, QString remoteName)=0
 
virtual RemoteDataReplydownloadBuffer (QString remoteName)=0
 
virtual RemoteDataReplyrunRemoteJob (QString jobName, ParamMap jobParameters, QString remoteWorkingDir, QString indivJobName="", QString archivePath="")=0
 
virtual RemoteDataReplygetListOfJobs ()=0
 
virtual RemoteDataReplygetJobDetails (QString IDstr)=0
 
virtual RemoteDataReplystopJob (QString IDstr)=0
 
virtual RemoteDataReplydeleteJob (QString IDstr)=0
 
virtual RemoteDataInterfaceState getInterfaceState ()=0
 
static QString interpretRequestState (RequestState theState)
 
static QString removeDoubleSlashes (QString stringIn)
 

Public Member Functions

 AgaveHandler (QNetworkAccessManager *netAccessManager, QObject *parent=nullptr)
 
- Public Member Functions inherited from RemoteDataInterface
 RemoteDataInterface (QObject *parent=nullptr)
 Brief Constructor description. Brief Constructor description continued. More...
 

Protected Member Functions

void handleInternalTask (AgaveTaskReply *agaveReply, QNetworkReply *rawReply)
 
void handleInternalTask (AgaveTaskReply *agaveReply, RequestState taskState)
 

Friends

class AgaveTaskReply
 

Additional Inherited Members

- Signals inherited from RemoteDataInterface
void connectionStateChanged (RemoteDataInterfaceState newState)
 

Detailed Description

The AgaveHandler is a class for communicating with an Agave server over an https connection.

Each AgaveHandler is one use, from initialization, to login, through multiple remote requests, to logout. If an application wishes to re-login, a new AgaveHandler object should be created.

First, the setAgaveConnectionParams meshod should be invoked, to define some basic Agave parameters, such as the remote tenant name. Then, the performAuth method should be invoked until a successful reply is given. After that, the various remote tasks can be performed. When finished, the closeAllConnections method will logout of the remote Agave server.