Revision 261394db monitor.c

b/monitor.c
98 98
    const char *params;
99 99
    const char *help;
100 100
    void (*user_print)(Monitor *mon, const QObject *data);
101
    int (*cmd_new_ret)(Monitor *mon, const QDict *params, QObject **ret_data);
102 101
    union {
103 102
        void (*info)(Monitor *mon);
104 103
        void (*info_new)(Monitor *mon, QObject **ret_data);
105 104
        int  (*info_async)(Monitor *mon, MonitorCompletion *cb, void *opaque);
106 105
        void (*cmd)(Monitor *mon, const QDict *qdict);
107
        void (*cmd_new)(Monitor *mon, const QDict *params, QObject **ret_data);
106
        int  (*cmd_new)(Monitor *mon, const QDict *params, QObject **ret_data);
108 107
        int  (*cmd_async)(Monitor *mon, const QDict *params,
109 108
                          MonitorCompletion *cb, void *opaque);
110 109
    } mhandler;
......
3846 3845
{
3847 3846
    QObject *data = NULL;
3848 3847

  
3849
    if (cmd->cmd_new_ret) {
3850
        cmd->cmd_new_ret(mon, params, &data);
3851
    } else {
3852
        cmd->mhandler.cmd_new(mon, params, &data);
3853
    }
3848
    cmd->mhandler.cmd_new(mon, params, &data);
3854 3849

  
3855 3850
    if (is_async_return(data)) {
3856 3851
        /*

Also available in: Unified diff