Пример #1
0
QString PathUtils::find(const QString &exe)
{
    QString binary;
    if (QFile::exists(binary = PathUtils::combine(Preferences::get()->binariesPath(), exe)))
    {
        return binary;
    }
    QString relative;
    if (QFile::exists(relative = PathUtils::combine(QCoreApplication::applicationDirPath(), PathUtils::combine(FOLDER_BINARIES, exe))))
    {
        return relative;
    }
    if (QFile::exists(exe))
    {
        return exe;
    }
    QString bin;
    if (QFile::exists(bin = QStandardPaths::findExecutable(exe)))
    {
        return bin;
    }
    QDir tmp;
#ifdef Q_OS_WIN
//    WCHAR b[MAX_PATH];
//    GetSystemDirectory(b, MAX_PATH);
//    QString sys = QString::fromWCharArray(b);
//    if (!sys.isEmpty() && (tmp = QDir(sys)).exists())
//    {
//        if (QFile::exists(bin = tmp.absoluteFilePath(exec)))
//        {
//            return bin;
//        }
//    }
#endif
    QString jdk(qgetenv("JAVA_HOME"));
    if (!jdk.isEmpty() && (tmp = QDir(PathUtils::combine(jdk, "bin"))).exists())
    {
        if (QFile::exists(bin = tmp.absoluteFilePath(exe)))
        {
            return bin;
        }
    }
    QString sdk(qgetenv("ANDROID_SDK_HOME"));
    if (!sdk.isEmpty() && (tmp = QDir(PathUtils::combine(sdk, "platform-tools"))).exists())
    {
        if (QFile::exists(bin = tmp.absoluteFilePath(exe)))
        {
            return bin;
        }
    }
    return exe;
}
Пример #2
0
int main() {
  jobject array[14];
  jobject map;
  
  /* Creates a map backed by the given array */
  map.array= array;
  
  /* a flat array with depth filled in by self-references; for example,
     the first element of the array contains a pointer to the arrray
     itself */
  array[JavaSDKClasses::JAVA_LANG_CLASS].array = array;
  array[JavaSDKClasses::JAVA_REFLECT_FIELD].array = array;
  array[JavaSDKClasses::COM_SRCH2_REFINING].methodID = 124;
  array[JavaSDKClasses::COM_SRCH2_SEARCHABLE].methodID = 3;
  array[JavaSDKClasses::COM_SRCH2_ATTRIBUTE].methodID = 4;
  array[JavaSDKClasses::COM_SRCH2_PRIMARY_KEY].methodID = 5;
  array[JavaSDKClasses::COM_SRCH2_REFININGFLOAT].methodID = 6;
  array[JavaSDKClasses::COM_SRCH2_REFININGUNSIGNED].methodID = 7;
  array[JavaSDKClasses::COM_SRCH2_REFININGDATE].methodID = 9;
  array[JavaSDKClasses::COM_SRCH2_REFININGINTERVAL].methodID = 10;
  array[JavaSDKClasses::COM_SRCH2_REFININGSTRING].methodID = 11;
  array[JavaSDKClasses::COM_SRCH2_INDEXABLESTRING].methodID = 12;
  array[JavaSDKClasses::COM_SRCH2_ATTRIBUTE_EXECEPTION].methodID = 13;
  array[JavaSDKClasses::COM_SRCH2_PARAMETER_MAPPING].array= array;

  JNIEnv e= JNIEnv();
  
  /* Creates a wrapping this map */
  JavaSDKClasses sdk(e, map ,  0, 0); 
  
  /* Checks that the map looks up directly correctly */
  assert(sdk.refiningClassPtr == 124);
  /* Checks that the map looks up depth, nested maps, correctly */
  assert(sdk.javaClassRef.ptr == map.cls);
  /* Checks second level look up: look ups on nested map */ 
  assert(sdk.javaClassRef.getFields == 124);
  /* Checks last map element edge case */
  assert(sdk.parameterMappingClassRef.ptr == map.cls);

  return 0;
}
Пример #3
0
int main()
{
    map<string,string> params;

    //参数的含义请参考 http://wiki.open.qq.com/wiki/%E5%9B%9E%E8%B0%83%E5%8F%91%E8%B4%A7URL%E7%9A%84%E5%8D%8F%E8%AE%AE%E8%AF%B4%E6%98%8E_V3
    params["amt"]="80";
    params["appid"]="33758";
    params["billno"]="-APPDJT18700-20120210-1428215572";
    params["openid"]="test001" ;
    params["payamt_coins"]="20";
    params["payitem"]="323003*8*1";
    params["ts"]="1328855301";
    params["providetype"]="0";
    params["pubacct_payamt_coins"]="10";
    params["token"]="53227955F80B805B50FFB511E5AD51E025360";
    params["version"]="v3";
    params["zoneid"]="1";

    string appkey="12345f9a47df4d1eaeb3bad9a7e54321";
    unsigned int appid=33758;
    COpenApiV3 sdk(appid, appkey);      
    sdk.init();

    string url_path = "/cgi-bin/temp.py";
    string sig ="VvKwcaMqUNpKhx0XfCvOqPRiAnU=";
   
    bool iRet=sdk.verifySig(OPEN_API_V3_METHOD_GET,url_path,params,sig);
    if(iRet)
    {
        printf("sig=%s is valid\n",sig.c_str());
    }
    else
    {
        printf("sig=%s is invalid\n",sig.c_str());      
    }
    return 0;    
}
Пример #4
0
void Ide::ExecuteApk()
{
	AndroidSDK sdk(GetAndroidSdkPath(), true);
	if(!sdk.Validate())
		return;
	
	SelectAndroidDeviceDlg select(&sdk);
	if(select.GetDeviceCount() != 1 && select.Run() != IDOK)
		return;
	if(!select.GetDeviceCount())
		return;
	
	One<Host> host = CreateHost(false);
	Apk apk(target, sdk);
	String packageName = apk.FindPackageName();
	String activityName = apk.FindLaunchableActivity();
	
	Adb adb = sdk.MakeAdb();
	adb.SetSerial(select.GetSelectedSerial());
	host->Execute(adb.MakeInstallCmd(target));
	
	if(!packageName.IsEmpty() && !activityName.IsEmpty())
		host->Execute(adb.MakeLaunchOnDeviceCmd(packageName, activityName));
}
Пример #5
0
int xcrun(int argc, char **argv, Target &target) {
  if (getenv("xcrun_log"))
    showCommand = true;

  constexpr const char *ENVVARS[] = {
    "DEVELOPER_DIR", "TOOLCHAINS", "xcrun_verbose"
  };

  for (const char *evar : ENVVARS) {
    if (getenv(evar)) {
      warn << "xcrun: ignoring environment variable "
           << "'" << evar << "'" << warn.endl();
    }
  }

  if (char *SDK = getenv("SDKROOT")) {
    unsetenv("OSXCROSS_SDKROOT");
    char *argv[1] = { SDK };
    sdk(target, argv);
  }

  auto dummy = [](Target&, char**) { return 0; };

  ArgParser<int (*)(Target&, char**), 19> argParser = {{
    {"h", help},
    {"help", help},
    {"version", version},
    {"v", dummy},
    {"verbose", dummy},
    {"k", dummy},
    {"kill-cache", dummy},
    {"n", dummy},
    {"no-cache", dummy},
    {"sdk", sdk, 1},
    {"toolchain", dummy, 1},
    {"l", log },
    {"log", log},
    {"f", find, 1},
    {"find", find, 1},
    {"r", run, 1},
    {"run", run, 1},
    {"show-sdk-path", showSDKPath},
    {"show-sdk-version", showSDKVersion}
  }};

  int retVal = 1;

  for (int i = 1; i < argc; ++i) {
    auto b = argParser.parseArg(argc, argv, i);

    if (!b) {
      if (argv[i][0] == '-') {
        err << "xcrun: unknown argument: '" << argv[i] << "'" << err.endl();
        retVal = 2;
        break;
      }

      run(target, &argv[i]);
    }

    retVal = b->fun(target, &argv[i + 1]);

    if (retVal != 0)
      break;

    i += b->numArgs;
  }

  return retVal;
}
Пример #6
0
      dp::sg::ui::ViewStateSharedPtr loadScene( const std::string & filename, dp::util::FileFinder const& fileFinder, dp::util::PlugInCallbackSharedPtr const& callback )
      {
        dp::sg::ui::ViewStateSharedPtr viewState;

        // appropriate search paths for the
        // loader dll and the sample file.
        string dir;
        dp::util::FileFinder localFF( fileFinder );
        localFF.addSearchPath( dp::util::getCurrentPath() );
        localFF.addSearchPath( dp::util::getModulePath() );

        // receive the unique scene loader plug interface ID from the file extension
        std::string ext = dp::util::getFileExtension( filename );
        dp::util::UPIID piid = dp::util::UPIID( ext.c_str(), dp::util::UPITID( UPITID_SCENE_LOADER, UPITID_VERSION ) );

        {
          dp::util::PlugInSharedPtr plug;
          if ( !dp::util::getInterface(localFF, piid, plug) )
          {
            throw std::runtime_error( std::string( "Scene Plugin not found: " + ext ) );
          }
          SceneLoaderSharedPtr loader = std::static_pointer_cast<SceneLoader>(plug);
          loader->setCallback( callback );

          // add the scene path, if it's not the current path (-> dir.empty()) and not yet added
          localFF.addSearchPath( dp::util::getFilePath( filename ) );

          // for supplied models add additional resource paths to make sure
          // that required resources will be found by subsequent loaders
          size_t pos = dir.rfind("media");
          if ( pos != string::npos )
          {
            string sdk(dir.substr(0, pos));
            localFF.addSearchPath(sdk + "media/effects");
            localFF.addSearchPath(sdk + "media/textures");
          }

          dp::sg::core::SceneSharedPtr scene;
          try
          {
            scene = loader->load( filename, localFF, viewState );
          }
          catch (...)
          {
            // TODO another non RAII pattern, callback should be passed to load
            loader->setCallback( dp::util::PlugInCallbackSharedPtr() );
            throw;
          }
          if ( !scene )
          {
            throw std::runtime_error( std::string("Failed to load scene: " + filename ) );
          }

          // create a new viewstate if necessary
          if ( !viewState )
          {
            viewState = dp::sg::ui::ViewState::create();
          }
          if ( !viewState->getSceneTree() )
          {
            viewState->setSceneTree( dp::sg::xbar::SceneTree::create( scene ) );
          }
        }

        // FIXME interface needs to be released since the cleanup order (first dp::sg::core, then dp::util) causes problems upon destruction.
        dp::util::releaseInterface(piid);

        return viewState;
      }