示例#1
0
int getJvmPath(char* basedir, char *jvmPath, int buffer_size) {
    jvmPath[0] = 0;
    if (!getFileInPackage(basedir, "/runtime/jre/lib/"JAVAARCH"/client/libjvm.so",
            jvmPath, MAX_PATH)) {
        if (!getFileInPackage(basedir, "/runtime/jre/lib/"JAVAARCH"/server/libjvm.so",
                jvmPath, MAX_PATH)) {
            return FALSE;
        }
    }
    return TRUE;
}
示例#2
0
bool getJvmPath(TCHAR* basedir, TCHAR *jvmPath, int buffer_size) {
    jvmPath[0] = 0;
    if (!getFileInPackage(basedir, _T("\\runtime\\jre\\bin\\client\\jvm.dll"),
            jvmPath, LAUNCHER_MAXPATH)) {
        if (!getFileInPackage(basedir, _T("\\runtime\\jre\\bin\\server\\jvm.dll"),
                jvmPath, LAUNCHER_MAXPATH)) {
            return false;
        }

    }
    return true;
}
示例#3
0
int getSystemJvmPath(char *jvmPath, int buffer_size) {
    char basedir[MAX_PATH];
    if (!getSystemJRE(basedir, MAX_PATH)) {
        return FALSE;
    }

    jvmPath[0] = 0;
    if (!getFileInPackage(basedir, "/lib/"JAVAARCH"/client/libjvm.so",
            jvmPath, MAX_PATH)) {
        if (!getFileInPackage(basedir, "/lib/"JAVAARCH"/server/libjvm.so",
                jvmPath, MAX_PATH)) {
            return FALSE;
        }
    }
    return TRUE;
}
示例#4
0
bool getSystemJvmPath(TCHAR *jvmPath, int buffer_size) {
    TCHAR basedir[LAUNCHER_MAXPATH];
    if (!getSystemJRE(basedir, LAUNCHER_MAXPATH)) {
        return false;
    }

    jvmPath[0] = 0;
    if (!getFileInPackage(basedir, _T("\\bin\\client\\jvm.dll"),
            jvmPath, LAUNCHER_MAXPATH)) {
        if (!getFileInPackage(basedir, _T("\\bin\\server\\jvm.dll"),
                jvmPath, LAUNCHER_MAXPATH)) {
            return false;
        }

    }
    return true;
}
示例#5
0
//REWRITE: this is inefficient. We better read and parse file once
int getConfigValue(char* basedir, char* lookupKey, char* outValue, int buf_size) {
    char config[MAX_PATH] = {0};
    char buffer[MAX_PATH*2];
    char *value;
    FILE *fp;

    char resolved_file[MAX_PATH];

    if(boinc_resolve_filename(CONFIG_FILENAME, resolved_file+1, MAX_PATH-1)){
        printf("Unable to resolve file (%s) via boinc_resolve_filename!\n", CONFIG_FILE);
        return FALSE;
    }
    resolved_file[0] = '/';

    #ifdef DEBUG
        printf("Resolved %s to %s\n", CONFIG_FILENAME, resolved_file);
    #endif

    if (!getFileInPackage(basedir, resolved_file, config, MAX_PATH)) {
        printf("Configuration file (%s) is not found!\n", config);
        return FALSE;
    }

    #ifdef DEBUG
        printf("FullFilePath: %s\n", config);
    #endif


    //scan file for the key
    fp = fopen(config, "r");
    if (fp == NULL) {
         return FALSE;
    }

    while (fgets(buffer, MAX_PATH*2, fp)) {
        value = strchr(buffer, '=');
        if (value != NULL) {
          //end key on the '=', value will point to the value string
          *value = 0;
          value++;

          if (!strcmp(buffer, lookupKey)) { //found it
             fclose(fp);
             strip_endofline(value);
             strncpy(outValue, value, buf_size);
             return TRUE;
          }
        }

     }
     fclose(fp);

     return FALSE;
}
示例#6
0
//Constructs full path to the main jar file
//return false if not found
int getMainJar(char* basedir, char* jar, int buffer_size) {
    char jarname[MAX_PATH] = {0};
    char jar_relative[MAX_PATH] = {0};
    char jar_full[MAX_PATH] = {0};

    if (!getConfigValue(basedir, CONFIG_MAINJAR_KEY, jarname, MAX_PATH)) {
        return FALSE;
    }

    strcat(jar_relative, MAINJAR_FOLDER);
    strcat(jar_relative, jarname);

    int ret = getFileInPackage(basedir, jar_relative, jar_full, MAX_PATH);

    strcat(jar, jar_full);

    return ret;
}
示例#7
0
//Constructs full path to the main jar file
//return false if not found
bool getMainJar(TCHAR* basedir, TCHAR* jar, int buffer_size) {
    TCHAR jarname[LAUNCHER_MAXPATH] = {0};
    TCHAR jar_relative[LAUNCHER_MAXPATH] = {0};
    TCHAR jar_full[LAUNCHER_MAXPATH] = {0};

    if (!getConfigValue(basedir, CONFIG_MAINJAR_KEY, jarname, LAUNCHER_MAXPATH)) {
        return false;
    }

    _tcscat_s(jar_relative, LAUNCHER_MAXPATH, MAINJAR_FOLDER);
    _tcscat_s(jar_relative, LAUNCHER_MAXPATH - _tcslen(jar_relative), jarname);

    bool ret = getFileInPackage(basedir, jar_relative, jar_full, LAUNCHER_MAXPATH);

    _tcscat_s(jar, LAUNCHER_MAXPATH - _tcslen(jar), jar_full);

    return ret;
}
示例#8
0
//Constructs full path to the main jar file
//return false if not found
int getMainJar(char* basedir, char* jar, int buffer_size) {
    char jarname[MAX_PATH] = {0};
    char jar_relative[MAX_PATH] = {0};
    char jar_full[MAX_PATH] = {0};

    if (!getConfigValue(basedir, CONFIG_MAINJAR_KEY, jarname, MAX_PATH)) {
        return FALSE;
    }

    strcat(jar_relative, MAINJAR_FOLDER);
    //strcat(jar_relative, jarname);
    if(boinc_resolve_filename(jarname, (jar_relative+strlen(MAINJAR_FOLDER)), MAX_PATH-strlen(MAINJAR_FOLDER))) {
        printf("Unable to resolve file (%s) via boinc_resolve_filename!\n", jarname);
        return FALSE;
    }

    int ret = getFileInPackage(basedir, jar_relative, jar_full, MAX_PATH);

    strcat(jar, jar_full);

    return ret;
}
示例#9
0
//REWRITE: this is inefficient. We better read and parse file once
bool getConfigValue(TCHAR* basedir, TCHAR* lookupKey, TCHAR* outValue, int buf_size) {
    TCHAR config[LAUNCHER_MAXPATH] = {0};
    TCHAR buffer[LAUNCHER_MAXPATH*2];
    TCHAR *value;
    FILE *fp;

    *outValue = 0;

    if (!getFileInPackage(basedir, CONFIG_FILE, config, LAUNCHER_MAXPATH)) {
        showError(config, _T("Configuration file is not found!"));
        return false;
    }

    //scan file for the key
    errno_t err = _tfopen_s(&fp, config, _T("r"));
     if (err) {
         return false;
     }

     while (_fgetts(buffer, LAUNCHER_MAXPATH*2, fp)) {
        value = _tcschr(buffer, '=');
        if (value != NULL) {
          //end key on the '=', value will point to the value string
          *value = 0;
          value++;

          if (!_tcscmp(buffer, lookupKey)) { //found it
             fclose(fp);
             strip_endofline(value);
             _tcscpy_s(outValue, buf_size, value);
             return true;
          }
        }

     }
     fclose(fp);

     return false;
}
示例#10
0
//REWRITE: this is inefficient. We better read and parse file once
int getConfigValue(char* basedir, char* lookupKey, char* outValue, int buf_size) {
    char config[MAX_PATH] = {0};
    char buffer[MAX_PATH*2];
    char *value;
    FILE *fp;

    if (!getFileInPackage(basedir, CONFIG_FILE, config, MAX_PATH)) {
        printf("Configuration file (%s) is not found!\n", config);
        return FALSE;
    }

    //scan file for the key
    fp = fopen(config, "r");
    if (fp == NULL) {
         return FALSE;
    }

    while (fgets(buffer, MAX_PATH*2, fp)) {
        value = strchr(buffer, '=');
        if (value != NULL) {
          //end key on the '=', value will point to the value string
          *value = 0;
          value++;

          if (!strcmp(buffer, lookupKey)) { //found it
             fclose(fp);
             strip_endofline(value);
             strncpy(outValue, value, buf_size);
             return TRUE;
          }
        }

     }
     fclose(fp);

     return FALSE;
}
示例#11
0
bool getAppFolder(TCHAR* basedir, TCHAR* appFolder, int buffer_size) {
    return getFileInPackage(basedir, MAINJAR_FOLDER, appFolder, LAUNCHER_MAXPATH);
}