///////////////////////storescpThread.h
typedef (*STORESCPCALLBACK)(void *callbackData, char* statusDetail);
static unsigned long classAddress;
class storescpThread
:public QThread{
Q_OBJECT
public:
~storescpThread();
protected:
void run();
static void emitMsg( unsigned long user_value,char * filename)
{
storescpThread* pthis = (storescpThread*)user_value; //
pthis->setText(state,filename);
}
void mycallback();
private :
static void storeSCPCallback(void *callbackData, char* statusDetail);
void setText(char * state,char * name);
};
///////////////////////storeScpThread.cpp
{
textEdit=txtEdit;
classAddress =(unsigned long)this ;
}
void storescpThread:: storeSCPCallback(void *callbackData, char* statusDetail)
{
emitMsg(classAddress,statusDetail);
return ;
}
void storescpThread::mycallback()
{
myThirdCallFunction(storeSCPCallback); //the third party function, which used callback as param
}
///////////////////////storescpThread.h
typedef (*STORESCPCALLBACK)(void *callbackData, char* statusDetail);
static unsigned long classAddress;
class storescpThread:public QThread
{
Q_OBJECT
public:
storescpThread(QTextEdit *txtEdit,QObject *parent = 0)
~storescpThread();
protected:
void run();
static void emitMsg( unsigned long user_value,char * filename)
{
storescpThread* pthis = (storescpThread*)user_value; //
pthis->setText(state,filename);
}
void mycallback();
private :
QTextEdit * textEdit;
static void storeSCPCallback(void *callbackData, char* statusDetail);
void setText(char * state,char * name);
};
///////////////////////storeScpThread.cpp
storescpThread::storescpThread(QTextEdit *txtEdit,QObject *parent): QThread(parent)
{
textEdit=txtEdit;
classAddress =(unsigned long)this ;
}
void storescpThread:: storeSCPCallback(void *callbackData, char* statusDetail)
{
emitMsg(classAddress,statusDetail);
return ;
}
void storescpThread::mycallback()
{
myThirdCallFunction(storeSCPCallback); //the third party function, which used callback as param
}
To copy to clipboard, switch view to plain text mode
Bookmarks