Пример #1
0
void IntelDisassembler::disasm(char *destT, const char *immT, const char *dispT, U8 relT, ix_decoder_state *stateT, ix_icode_t *icodeT, int dszT)
{
	// What we want to do is look up the given instruction, and see if it requires special handling for the requested personality.
	// Try "all" if not found, then use default handler.
	dsz = dszT;
	dest = destT;
	imm = immT;
	disp = dispT;
	state = stateT;
	icode = icodeT;
	dest[0] = '\0';
	rel = relT + static_cast<U8>(state->insn_size);		// if used, user must MASK to 16 or 32 bits if applicable.

	if(icode->lockrep == 1)
		write("lock ");

	if(decoder->encoding_is_fwaitable(state->encoding_index))
	{
		if(state->wait_used)
			write("f");
		else
			write("fn");
	}

	if(!specialHandler())
	{
		// print o16/o32/o64 if needed.
		maybe_write_oxx(dsz);

		IntelSyntaxInsn *insn = decoder->syntax->getInsn(decoder->syntax->getEncoding(state->encoding_index)->insn);
		write(decoder->syntax->getSymbol(insn->proto.alias).c_str());
		write_any_args();
	}
}
Пример #2
0
void UploadOperation::onLastRequestFailedReply()
{
    StringStorage errDesc;

    m_replyBuffer->getLastErrorMessage(&errDesc);

    notifyFailedToUpload(errDesc.getString());

    //
    // If this LRF message comes to file list request, then
    // don't need to upload next file, we must execute "special message handler".
    //

    if (specialHandler()) {
        return ;
    }

    gotoNext();
}
Пример #3
0
void ZoomedOutVolume::addToSimpleOpenGLWidget(SimpleOpenGLWidget& simpleOpenGLWidget, QObject* receiver, const char* member)
{
  //these objects are cloned within setMouseHandler()
  boost::scoped_ptr<ZoomInteractor> middleButtonHandler(new ZoomInteractor);
  boost::scoped_ptr<ZoomInteractor> wheelHandler(new ZoomInteractor);
  boost::scoped_ptr<TrackballRotateInteractor> rightButtonHandler(new TrackballRotateInteractor);
  boost::scoped_ptr<GeometryInteractor> specialHandler(new GeometryInteractor(&m_GeometryRenderer));

	simpleOpenGLWidget.initForContext(this);
	simpleOpenGLWidget.setMainRenderable(this);
	simpleOpenGLWidget.setMouseHandler(SimpleOpenGLWidget::LeftButtonHandler, m_Rover3DWidget.getHandler());

	MouseHandler* handler;
	handler = simpleOpenGLWidget.setMouseHandler(SimpleOpenGLWidget::MiddleButtonHandler, middleButtonHandler.get());
	//QObject::connect(handler, SIGNAL(ViewChanged()), receiver, member);
	handler = simpleOpenGLWidget.setMouseHandler(SimpleOpenGLWidget::WheelHandler, wheelHandler.get());
	//QObject::connect(handler, SIGNAL(ViewChanged()), receiver, member);
	handler = simpleOpenGLWidget.setMouseHandler(SimpleOpenGLWidget::RightButtonHandler, rightButtonHandler.get());
	QObject::connect(handler, SIGNAL(ViewChanged()), receiver, member);

	// the special handler
	simpleOpenGLWidget.setMouseHandler(SimpleOpenGLWidget::SpecialHandler, specialHandler.get());
}
Пример #4
0
void UploadOperation::onFileListReply()
{
    initRemoteFiles(m_replyBuffer->getFilesInfo(),
                    m_replyBuffer->getFilesInfoCount());
    specialHandler();
}