⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgloadobject.cpp

📁 monqueror一个很具有参考价值的源玛
💻 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 + -