12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #pragma once
- #include <QString>
- #include <QLibrary>
- #include <QDateTime>
- #include <QObject>
- #include <QtDebug>
- //webApi链接数据库的类型根据web接口改变
- #define WEBAPPTYPE "TZCJ"
- //webApi接口返回成功标记
- #define RERUNSUCCESS 0
- //不要超过4M, 4M是栈空间极限
- const int LHHTTPAPI_BUFFER_SIZE = 100*1024*1024;
- class lhhttpapi : public QObject
- {
- Q_OBJECT
- public:
- typedef int (*FunDBInit)(const char* lpUrl);
- typedef int (*FunDBLogin)(const char *plocalip,const char *pSerid, const char* CType, char *pszUserToken, int nSize);
- typedef int (*FunDBGetServerList)(char *pszList, int nSize);
- typedef int (*FunDBGetChannelList)(const char* pSerid,char *pszList, int nSize);
- typedef int (*FunDBDoInterface)(const char* pSerid,const char* CType,const char* strtoken,int nOperatorType, const char * strParamXml, char *strRetXml, int nSize);
- typedef int64_t (*FunDoGetHttpFileSize)(const char* pHttAddr);
- typedef int64_t (*FunDoGetHttpFileContent)(const char* lpHttpAddr, char *pszContent, int nSize);
- typedef int (*FunDoUploadFtpFile)(const char* pszLocalFilePath, const char* pszFtpFilePath);
- typedef int (*FunDoUploadFtpFileContent)(const char * szFileContent, int nSize, const char* strFtpFilePath);
- typedef int (*FunDoCurlDeleteFtpFile)(const char* user, const char* pwd, const char* pszFtpFile);
- typedef int (*FunDoCurlUploadFtpFile)(const char* user, const char* pwd, const char* pszLocalFilePath, const char* pszFtpFile);
- typedef int (*FunDoCurlUploadFtpFileContent)(const char* user, const char* pwd, const char* pszFileContent, int nSize, const char* pszFtpFile);
-
- // typedef int (*FunUnInit)();
- typedef int (*FunDoGetLastError)(char *pError, int nLen, int *nErrorCode);
- public:
- explicit lhhttpapi(QObject *parent = nullptr);
- ~lhhttpapi();
- public:
- QLibrary *m_pQLib;
- FunDBInit fnDBInit;
- FunDBLogin fnDBLogin;
- FunDBGetServerList fnDBGettServerList;
- FunDBGetChannelList fnDBGetChannelList;
- FunDBDoInterface fnDBDoInterface;
- FunDoGetHttpFileSize fnDoGetHttpFileSize;
- FunDoGetHttpFileContent fnDoGetHttpFileContent;
- FunDoUploadFtpFile fnDoUploadFtpFile;
- FunDoUploadFtpFileContent fnDoUploadFtpFileContent;
- FunDoCurlDeleteFtpFile fnDoCurlDeleteFtpFile;
- FunDoCurlUploadFtpFile fnDoCurlUploadFtpFile;
- FunDoCurlUploadFtpFileContent fnDoCurlUploadFtpFileContent;
- // FunUnInit fnUnInit;
- FunDoGetLastError fnGetLastError;
-
- public:
- bool Load(QString file);
- bool UnLoad();
- int DBLogin(const QString& pLocalip,const QString &pSerid,const QString &appType, QString &pszUserToken);
- int DoGetToken(QString &szToken);
- int DBGetServerList(char *pszList, int nSize);
- int DBGetChannelList(const char* pSerid,char *pszList, int nSize);
- int DBDoInterface(const QString &strToken, int nOperatorType, const QString &strParamXml, QString &strRetXml);
- int DBInit (const char *lpUrl);
- int DoGetLastError(char *pError, int nLen, int *nErrorCode);
- QString DoGetLastError(int *nErrorCode);
- int64_t DoGetHttpFileSize(const QString &url);
- int64_t DoGetHttpFileContent(const QString &url, char *pszContent, int nSize);
- // int64_t DoGetHttpPNGFile(const QString &url, QPixmap &outPixmap);
- bool DoUploadFtpFile(const QString &localFilePath, const QString &ftpFilePath);
- bool DoUploadFtpFileContent(const char * szFileContent, int nSize, const QString &ftpFilePath);
- bool DoCurlDeleteFtpFile(const QString &targetFilePath);
- bool DoCurlDeleteFtpFile(const QString &user, const QString &pwd, const QString &targetFilePath);
- bool DoCurlUploadFtpFile(const QString &localFilePath, const QString &destFilePath);
- bool DoCurlUploadFtpFile(const QString &user, const QString &pwd, const QString &localFilePath, const QString &destFilePath);
- bool DoCurlUploadFtpFileContent(const char * szFileContent, int nSize, const QString &destFilePath);
- bool DoCurlUploadFtpFileContent(const QString &user, const QString &pwd, const char * szFileContent, int nSize, const QString &destFilePath);
- private:
- QString m_Localip; // localip
- QString m_Serid; // 当前服务数据库id
- QString m_appType; // 设备类型
- };
|