📄 mgloadobject.cpp
字号:
#include <assert.h>#include <string.h>// minigui's head file#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>#include "mgloader.h"#include "mgloadobject.h"#include "mgmessage.h"using namespace DOM;using namespace khtml;MGLoadObject::MGLoadObject(){ m_nRequested = 0; m_hWnd=0; m_req.setAutoDelete(0); m_load.setAutoDelete(0); strcpy(m_PathName,"/tmp"); } MGLoadObject::~MGLoadObject(){ m_req.setAutoDelete(1); m_load.setAutoDelete(1); m_req.clear(); m_load.clear(); }void MGLoadObject::setHwnd(HWND hWnd){ m_hWnd=hWnd;} void MGLoadObject::setType(int type){ m_nType=type;}bool MGLoadObject::RequestMsgToNet( unsigned char *url){ if(!m_hWnd)return 0; SendNotifyMessage(m_hWnd,MSG_REQUESTCACHEURL , (WPARAM)url,(LPARAM)m_nType); return 1;}bool MGLoadObject::LoadedMsgFromNet( unsigned char *url ,unsigned char *buf,int length, char s[]){ LoadUrlStruct *rus; if(isRequested(url)){ rus=m_req.current(); m_load.append(rus); m_req.remove();} else return 0; strcpy(s,rus->TempName); CompleteTempName(s); WriteBufToTempFile(buf,s,length); return 1;}bool MGLoadObject::WriteBufToTempFile(unsigned char *buf,char TempName[],int totalLength){ FILE* fp; int len; if (!(fp = fopen (TempName, "wc"))){ fprintf(stderr,"Cannot create a tempfile %s.\n",TempName); return 0;} len = fwrite (buf, 1, totalLength, fp); fclose (fp); return 1;}bool MGLoadObject::SeekLoadListByUrl( unsigned char *url ){ LoadUrlStruct *rus; bool bFind=0; for(rus=m_load.first();rus!=0;rus=m_load.next()){ if(!strcmp((const char*)rus->url,(const char*)url)) { bFind=1; break; } } return bFind;}bool MGLoadObject::isLocalFile( unsigned char *url ){ KURL u((const char*)url,0); return u.isLocalFile();}bool MGLoadObject::CompleteTempName(char TempName[]){ char s[64]; strcpy(s,m_PathName); strcat(s,"/"); strcat(s,TempName); strcpy(TempName,s); return 1;}bool MGLoadObject::isRequested( unsigned char *url ){ LoadUrlStruct *rus; bool bFind=0; for(rus=m_req.first();rus!=0;rus=m_req.next()){ if(!strcmp((const char*)rus->url,(const char*)url)) { bFind=1; break; } } return bFind;}bool MGLoadObject::isLoaded( unsigned char *url ){ LoadUrlStruct *rus; bool bFind=0; for(rus=m_load.first();rus!=0;rus=m_load.next()){ if(!strcmp((const char*)rus->url,(const char*)url)) { bFind=1; break; } } return bFind;}bool MGLoadObject::NotifyDataProcessed(int nMessage){ SendNotifyMessage(m_hWnd, nMessage, (WPARAM)0, (LPARAM)0); return 1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -