コード例 #1
0
 void CProfileRepoServerClb::OnRequest(Ipc::MsgID id, UInt8 const* pPayload, UInt32 payloadSize, UInt8* const pResponseBuffer, UInt32& bufferSize, Ipc::DirectionID)
 {
    LOG4CPLUS_TRACE_METHOD(msLogger, __PRETTY_FUNCTION__ );
    const RepoRequest * req = reinterpret_cast<const RepoRequest*>(pPayload);
    switch (req->type)
    {
    case REQ_ADD_PROFILE_API:
       addProfileAPI(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    case REQ_REMOVE_PROFILE_API:
       removeProfileAPI(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    case REQ_ADD_PROFILE:
       addProfile(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    case REQ_REMOVE_PROFILE:
       removeProfile(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    case REQ_ADD_PROFILE_IMPLEMENTATION:
       addProfileImplementation(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    case REQ_REMOVE_PROFILE_IMPLEMENTATION_PL:
       removeProfileImplementationPl(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    case REQ_FIND_PROFILES:
       findProfiles(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    case REQ_GET_MANIFEST:
       getManifest(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    case REQ_GET_PROFILE_LIST:
       getProfilesList(req,payloadSize,pResponseBuffer,bufferSize);
       break;
    }
 }
コード例 #2
0
ファイル: extension.cpp プロジェクト: guek/notepadqq
    Extension::Extension(QString path, QString serverSocketPath) : QObject(0)
    {
        m_extensionId = path + "-" + QTime::currentTime().msec() + "-" + QString::number(qrand());

        QJsonObject manifest = getManifest(path);

        if (!manifest.isEmpty()) {
            m_name = manifest.value("name").toString();

            if (m_name.isEmpty()) {
                failedToLoadExtension(path, tr("name missing or invalid"));
                return;
            }

            m_runtime = manifest.value("runtime").toString().toLower();
            QString main = manifest.value("main").toString();

            if (m_runtime == "nodejs") {

                process = new QProcess();
                process->setProcessChannelMode(QProcess::ForwardedChannels);
                process->setWorkingDirectory(path);

                QStringList args;
                args << "--harmony-proxies";
                args << main;
                args << serverSocketPath;
                args << m_extensionId;

                QString runtimePath = Notepadqq::nodejsPath();

                connect(process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(on_processError(QProcess::ProcessError)));

                process->start(runtimePath, args);

            }

        } else {
            failedToLoadExtension(path, tr("unable to read nqq-manifest.json"));
            return;
        }

        // FIXME Load editor parts
        /*QFile fUi(path + "/ui.js");
        if (fUi.open(QFile::ReadOnly | QFile::Text)) {


        } else {
            failedToLoadExtension(path, "ui.js missing");
            return;
        }*/
    }
コード例 #3
0
ファイル: demoapp.cpp プロジェクト: mixtile/xskit
int DemoApp::start()
{
	xsColor color = {255,255,255,255};
	xsSetColor(xsGetSystemGc(), color);
	xsGetScreenDimension(&width, &height);
	xsFillRectangle(xsGetSystemGc(), 0, 0, width, height);//, xsArgbToColor(0xFFFFFFFF));
	xsFlushScreen(0, 0, width - 1, height - 1);

	const char * js = getManifest()->getStartup();
	invokeJavascript(js, LOAD_JS_STRING);

	x = (width - BOX_SIZE) / 2;
	y = (height - BOX_SIZE) / 2;
	//img = this->getResource()->loadImage(xsT("logo-48x48.jpg"));
	//timer = xsStartTimer(20, _onTimeout, this);

	return XS_EC_OK;
}
コード例 #4
0
ファイル: java_exe.c プロジェクト: edwinm/Jarx
int execJVM( HINSTANCE hVM, HINSTANCE hInstance, char *jarfile, char *classpath, char *classname, char *arg, int version, int minversion ) {
    JNIEnv *env;
    JavaVM *jvm;
    jint res;
    jmethodID mid;
    jclass cls;
	jclass stringClass;
    jobjectArray args = NULL;
	jstring jstr;
	int ret = JVM_OK;
	char *manifest;
	HWND startingJava;

	// "Starting Java" dialog box
	startingJava = CreateDialog( hInstance, MAKEINTRESOURCE(IDD_DIALOG2), NULL, aboutCallback );
	ShowWindow(startingJava, SW_SHOW); 

	(*(FARPROC*)&JNI_CreateJavaVM_X = GetProcAddress( hVM, "JNI_CreateJavaVM" ));

	if ( JNI_CreateJavaVM_X == NULL ) // Happens on Win98
		return JVM_CLASSERR;

	if ( version == 1 ) {
		JDK1_1InitArgs vm_args;

		(*(FARPROC*)&JNI_GetDefaultJavaVMInitArgs_X = GetProcAddress( hVM, "JNI_GetDefaultJavaVMInitArgs" ));
		vm_args.version = JNI_VERSION_1_1;
		JNI_GetDefaultJavaVMInitArgs_X( &vm_args );
		vm_args.classpath = classpath;
		res = JNI_CreateJavaVM_X( &jvm, (void**)&env, (JavaVMInitArgs*) &vm_args );
	} else {
		JavaVMInitArgs vm_args;
		JavaVMOption options[1];
		char jvm_opt[LINEMAXLEN+100];
		sprintf( jvm_opt, "-Djava.class.path=%s", classpath );
		options[0].optionString =  jvm_opt;
		vm_args.version = JNI_VERSION_1_2;
		vm_args.options = options;
		vm_args.nOptions = 1;
		vm_args.ignoreUnrecognized = TRUE;
		res = JNI_CreateJavaVM_X( &jvm, (void**)&env, &vm_args );
	}

    if ( res < 0 )
        return JVM_PROBLEM;

	version = (*env)->GetVersion( env );

	if ( version < minversion ) {
		ret = JVM_VERSIONTOOSMALL;
        goto destroy;
    }

#ifdef SHOWDEBUG
	showVersion( version );
#endif

	if ( *classname == '\0' ) {
		manifest = getManifest( env, jarfile );
		getClassName( manifest, classname, LINEMAXLEN );
	}

	strReplace( classname, '.', '/' );

    cls = (*env)->FindClass( env, classname );

    if ( cls == 0 ) {
		ret = JVM_CLASSERR;
        goto destroy;
    }

	jstr = (*env)->NewStringUTF( env, arg?arg:"" );
	stringClass = (*env)->FindClass( env, "java/lang/String" );
	args = (*env)->NewObjectArray( env, arg?1:0, stringClass, jstr );

	mid = (*env)->GetStaticMethodID( env, cls, "main", "([Ljava/lang/String;)V" );
	if ( mid == 0 ) {
		ret = JVM_CLASSERR;
		goto destroy;
	}

	DestroyWindow(startingJava);
	
	(*env)->CallStaticVoidMethod( env, cls, mid, args );

	destroy:
	//if (env->ExceptionOccurred()) {
	//	env->ExceptionDescribe();
	//}

	(*jvm)->DestroyJavaVM(jvm);

	return ret;

}