Exemple #1
0
void WebPageProxy::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder& arguments, CoreIPC::ArgumentEncoder& reply)
{
    switch (messageID.get<WebPageProxyMessage::Kind>()) {
        case WebPageProxyMessage::CreateNewPage: {
            WebPageProxy* newPage = createNewPage();
            if (newPage) {
                // FIXME: Pass the real size.
                reply.encode(CoreIPC::In(newPage->pageID(), IntSize(100, 100), 
                                         newPage->pageNamespace()->context()->preferences()->store(),
                                         *(newPage->m_drawingArea.get())));
            } else {
                // FIXME: We should encode a drawing area type here instead.
                reply.encode(CoreIPC::In(static_cast<uint64_t>(0), IntSize(), WebPreferencesStore(), 0));
            }
            break;
        }
        case WebPageProxyMessage::RunJavaScriptAlert: {
            uint64_t frameID;
            String alertText;
            if (!arguments.decode(CoreIPC::Out(frameID, alertText)))
                return;
            runJavaScriptAlert(webFrame(frameID), alertText);
            break;
        }
        default:
            ASSERT_NOT_REACHED();
            break;
    }
}
Exemple #2
0
string DBSystem::getRecord(string tableName, int recordId)
{
	int pgNo,startRecord;
	struct Page* newPage;
	
	pgNo = getPageNumber(tableName,recordId);
	string error("");
	if( pgNo==-1)
		return (error);

	if(pageMemoryHash[pgNo] == NULL){
		//cout<<"MISS ";
		newPage = createNewPage(tableName, pgNo);
		/*if(currentMemory->count<numberOfPages)
			//cout<<newPage->frameNumber<<"\n";
		else
			if(currentMemory->rear)
				//cout<<currentMemory->rear->frameNumber<<"\n";
			else
				//cout<<"\n";
		*/
		lruPageReplace(pgNo,newPage);
		
		pageMemoryHash[pgNo] = newPage;
	}
	else{
		//cout<<"HIT\n";
		newPage = pageMemoryHash[pgNo];
		placePageInFront(newPage);
	}
	
	startRecord = pageToRecordMap[pgNo].first;
	string temp= newPage->pageRecords->at(recordId-startRecord);
	
	if(temp.at(temp.length()-1)=='\n')
		temp=temp.substr(0,temp.length()-1);
	
	return temp;
}
Exemple #3
0
int webPage::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: loading((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 1: isLoading((*reinterpret_cast< QPixmap(*)>(_a[1]))); break;
        case 2: titleChanged((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 3: pageChanged((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
        case 4: showSources((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 5: speedDial(); break;
        case 6: needPrint((*reinterpret_cast< QPrinter*(*)>(_a[1]))); break;
        case 7: openTab((*reinterpret_cast< webPage*(*)>(_a[1]))); break;
        case 8: setFullScreen((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 9: startLoading(); break;
        case 10: finishLoading((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 11: changeTitle((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 12: changeUrl((*reinterpret_cast< QUrl(*)>(_a[1]))); break;
        case 13: goToHome(); break;
        case 14: loadUrl(); break;
        case 15: loadUrl((*reinterpret_cast< QUrl(*)>(_a[1]))); break;
        case 16: loadUrl((*reinterpret_cast< QString(*)>(_a[1]))); break;
        case 17: addToBookMark(); break;
        case 18: downloadFile((*reinterpret_cast< const QNetworkRequest(*)>(_a[1]))); break;
        case 19: downloadFile((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
        case 20: loadBookMark(); break;
        case 21: showBookMark(); break;
        case 22: sources(); break;
        case 23: defineHome(); break;
        case 24: findNext(); break;
        case 25: findPrevious(); break;
        case 26: print(); break;
        case 27: createNewPage((*reinterpret_cast< WebView*(*)>(_a[1]))); break;
        case 28: createNewPage(); break;
        case 29: updateIcon(); break;
        case 30: copy(); break;
        case 31: authentification((*reinterpret_cast< QNetworkReply*(*)>(_a[1])),(*reinterpret_cast< QAuthenticator*(*)>(_a[2]))); break;
        case 32: inspectPage(); break;
        case 33: goToDial(); break;
        case 34: updateUrlIcon((*reinterpret_cast< QPixmap(*)>(_a[1]))); break;
        case 35: updateBookMark(); break;
        case 36: updateOptions(); break;
        case 37: showBar(); break;
        case 38: showPage(); break;
        case 39: showDial(); break;
        case 40: inCache(); break;
        case 41: showConsole(); break;
        case 42: zoomIn(); break;
        case 43: zoomOut(); break;
        case 44: restoreZoom(); break;
        case 45: savePage(); break;
        case 46: back(); break;
        case 47: forward(); break;
        default: ;
        }
        _id -= 48;
    }
    return _id;
}
Exemple #4
0
void DBSystem::insertRecord(string tableName, string record)
{
	//printCurrentMemory();
	int pageId = getLastPageForTable(tableName);
	struct Page * newPage;
	//cout<<record;
	if(pageId<0){
		cout<<"Such a page doesn't exist\n";
		return;
	}
	string path(pathForData);
	path +="/"+tableName +".csv";
	FILE *fd=fopen(path.c_str(),"ra+");
	
	if(fd==NULL){ cout<<"table file not found "<<endl;return;}
	
	fseek ( fd, 0, SEEK_END );
	fprintf (fd, "%s\n",record.c_str());
	fclose(fd);
	int sizeofPage = pageIdToSizeHash[pageId];
	
	if((sizeofPage + record.size()) <= pageSize)
	{
		if((sizeofPage + record.size()) == pageSize)
			ifAddNewlineToTable[tableName] = 1;
		else
			ifAddNewlineToTable[tableName] = 0;
	//We can append the record to this page
		if(pageMemoryHash[pageId] == NULL){
			//cout<<"MISS ";
			pageToRecordMap[pageId].second +=1;
			newPage = createNewPage(tableName, pageId);
			lruPageReplace(pageId,newPage);
			pageMemoryHash[pageId] = newPage;

		}
		else{
			//cout<<"HIT\n";
			pageToRecordMap[pageId].second +=1;
			newPage = pageMemoryHash[pageId];
			newPage->pageRecords->push_back(record);
			placePageInFront(newPage);
		}

		pageIdToSizeHash[pageId] += record.size();
		//Increment the end record id of the page
	}
	else{
		int newPageId = getNewPageIdForTable(tableName,record);//this function def needs to change
		newPage = createNewPage(tableName, newPageId);
		lruPageReplace(newPageId,newPage);
		pageMemoryHash[newPageId] = newPage;
		if(ifAddNewlineToTable[tableName] == 1){
			pageIdToSizeHash[newPageId]++;
			ifAddNewlineToTable[tableName] = 0;
		}
		//cout<<"MISS "<<newPageId<<endl;
	}

	/******************** Adding to unique attrib's list********************************/
	vector< string > temp;
	std::istringstream ss(record);
	std::string token;

	while(std::getline(ss, token, ',')) {
	    temp.push_back(token);
	}

	int si=temp.size();
	for(int m=0;m<si;m++)
	{
		if(uniqueAttribs[tableName].size()==0)
		{
			std::set<string> t;
			t.insert(temp[m]);
			uniqueAttribs[tableName].push_back(t);
		}
		else
		{
			uniqueAttribs[tableName][m].insert(temp[m]);
			//cout<<attribs[tableNames[i]][m].size()<<endl;l
		}
	}
	//printCurrentMemory();
	//printAllPages(tableName);
}