コード例 #1
0
ファイル: main.c プロジェクト: bq/qeo-core
static void handle_command(const char *cmd,
                           int *done)
{
    if (0 == strcmp("bye", cmd)) {
        *done = 1;
    }
    if (0 == strcmp("help", cmd)) {
        help();
    }
    else if (0 == strncmp("name ", cmd, 5)) {
        update_participant(&cmd[5], _me.state);
    }
    else if (0 == strncmp("state ", cmd, 6)) {
        qeo_enum_value_t state;

        /* convert enumerator  name to its corresponding value */
        if (QEO_OK != qeo_enum_string_to_value(org_qeo_sample_simplechat_ChatState_type, &cmd[6], &state)) {
            printf("error - invalid state '%s'\n", &cmd[6]);
        }
        else {
            update_participant(NULL, state);
        }
    }
    else if (0 == strcmp("participants", cmd)) {
        printf("Participant list:\n");
        qeo_state_reader_foreach(_part_reader, print_participant, 0);
    }
}
コード例 #2
0
ファイル: common.c プロジェクト: bq/qeo-core
int count_instances(qeo_state_reader_t *reader)
{
    int cnt = 0;

    assert(QEO_OK == qeo_state_reader_foreach(reader, count_instances_callback, (uintptr_t)&cnt));
    return cnt;
}
コード例 #3
0
static void on_update(const qeo_state_reader_t *reader,
                      uintptr_t userdata)
{
    log_verbose("[PID %d] on_update", _pid);
    assert(QEO_OK == qeo_state_reader_foreach(reader, count_instances_callback, userdata));
}