コード例 #1
0
QString pcsl_string2QString(const pcsl_string &pstring)
{
  /*
  * Example From the QT toolkit doc for QString.isNull()
  * QString a;          // a.unicode() == 0,  a.length() == 0
  * QString b = "";     // b.unicode() == "", b.length() == 0
  * a.isNull();         // TRUE, because a.unicode() == 0
  * a.isEmpty();        // TRUE, because a.length() == 0
  * b.isNull();         // FALSE, because b.unicode() != 0
  * b.isEmpty();        // TRUE, because b.length() == 0
  */
  QString qstring;
  if (pcsl_string_is_null(&pstring))
  {
    // we want isNull to be true
    qstring = QString::null;
  }
  else if (pcsl_string_length(&pstring) == 0)
  {
    // we want isEmpty to be true
    qstring = "";
  }
  else
  {
    const pcsl_string* const mmstring = &pstring;
    GET_PCSL_STRING_DATA_AND_LENGTH(mmstring)
    qstring.setUtf16((const ushort *)mmstring_data, mmstring_len);
    RELEASE_PCSL_STRING_DATA_AND_LENGTH
  }
  return qstring;
}
コード例 #2
0
ファイル: runNams.c プロジェクト: sfsy1989/j2me
/**
 * The function that will be called when Java system state
 * changes.
 *
 * @param pEventData
 */
void system_state_listener(const NamsEventData* pEventData) {
    printf("--- system_state_listener(event = %d, state = %d)\n",
        pEventData->event, pEventData->state);

    if (pEventData->event == MIDP_NAMS_EVENT_STATE_CHANGED &&
            pEventData->state == MIDP_SYSTEM_STATE_ACTIVE) {
        int i;
        const jchar *jchArgsForMidlet[3];
        jint  argsLen[3];

        /* Currently we support up to 3 arguments. */
        for (i = 0; i < 3; i++) {
            jchArgsForMidlet[i] = pcsl_string_get_utf16_data(&argsForMidlet[i]);
            argsLen[i] = pcsl_string_utf16_length(&argsForMidlet[i]);
        }

        GET_PCSL_STRING_DATA_AND_LENGTH(aclassNameToRun)
        (void) midp_midlet_create_start_with_args(suiteIDToRun,
                                           (const jchar*)aclassNameToRun_data,
                                           aclassNameToRun_len,
                                           (const jchar**)jchArgsForMidlet,
                                           argsLen,
                                           3,
#if ENABLE_I3_TEST
                                           findNextEmptyMIDlet(0),
#else
                                           /*
                                            * There is only one application
                                            * excepting namsTestService mode
                                            */
                                           1,
#endif
                                           NULL);
        RELEASE_PCSL_STRING_DATA_AND_LENGTH

        for (i = 0; i < 3; i++) {
            pcsl_string_release_utf16_data(jchArgsForMidlet[i],
                                           &argsForMidlet[i]);
        }
    }
コード例 #3
0
extern "C" void
pcsl_string2QString(const pcsl_string &pstring, QString &qstring) {
    /*
     * Example From the QT toolkit doc for QString.isNull()
     * QString a;          // a.unicode() == 0,  a.length() == 0
     * QString b = "";     // b.unicode() == "", b.length() == 0
     * a.isNull();         // TRUE, because a.unicode() == 0
     * a.isEmpty();        // TRUE, because a.length() == 0
     * b.isNull();         // FALSE, because b.unicode() != 0
     * b.isEmpty();        // TRUE, because b.length() == 0
     */
    if (pcsl_string_is_null(&pstring)) {
        // we want isNull to be true
	qstring = (const char *)NULL;
    } else if (pcsl_string_length(&pstring) == 0) {
        // we want isEmpty to be true
        qstring = "";
    } else {
        const pcsl_string* const mmstring = &pstring;
        GET_PCSL_STRING_DATA_AND_LENGTH(mmstring)
        qstring.setUnicodeCodes((const ushort *)mmstring_data, mmstring_len);
        RELEASE_PCSL_STRING_DATA_AND_LENGTH
    }
}