2012-08-20 14:06:21 +01:00
/*
* Copyright ( C ) 2011 - 2012 Red Hat , Inc .
*
* This library is free software ; you can redistribute it and / or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation ; either
* version 2.1 of the License , or ( at your option ) any later version .
*
* This library is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
* Lesser General Public License for more details .
*
* You should have received a copy of the GNU Lesser General Public
2012-09-20 16:30:55 -06:00
* License along with this library . If not , see
2012-08-20 14:06:21 +01:00
* < http : //www.gnu.org/licenses/>.
*
*/
# ifndef __VIR_QEMU_MONITOR_TEST_UTILS_H__
# define __VIR_QEMU_MONITOR_TEST_UTILS_H__
2013-03-05 16:17:24 +01:00
# include "domain_conf.h"
2013-07-25 19:28:51 +02:00
# include "qemu / qemu_conf.h"
2012-08-20 14:06:21 +01:00
# include "qemu / qemu_monitor.h"
2013-07-25 12:08:25 +02:00
# include "qemu / qemu_agent.h"
2012-08-20 14:06:21 +01:00
typedef struct _qemuMonitorTest qemuMonitorTest ;
typedef qemuMonitorTest * qemuMonitorTestPtr ;
2013-07-25 11:48:11 +02:00
typedef struct _qemuMonitorTestItem qemuMonitorTestItem ;
typedef qemuMonitorTestItem * qemuMonitorTestItemPtr ;
typedef int ( * qemuMonitorTestResponseCallback ) ( qemuMonitorTestPtr test ,
qemuMonitorTestItemPtr item ,
const char * message ) ;
int qemuMonitorTestAddHandler ( qemuMonitorTestPtr test ,
qemuMonitorTestResponseCallback cb ,
void * opaque ,
virFreeCallback freecb ) ;
2016-06-07 13:46:01 +02:00
int qemuMonitorTestAddResponse ( qemuMonitorTestPtr test ,
const char * response ) ;
2013-07-25 11:48:11 +02:00
2016-12-01 09:22:44 +01:00
int qemuMonitorTestAddInvalidCommandResponse ( qemuMonitorTestPtr test ,
const char * expectedcommand ,
const char * actualcommand ) ;
2013-07-29 14:29:15 +02:00
2013-07-25 11:48:11 +02:00
void * qemuMonitorTestItemGetPrivateData ( qemuMonitorTestItemPtr item ) ;
2013-07-29 14:29:15 +02:00
int qemuMonitorReportError ( qemuMonitorTestPtr test , const char * errmsg , . . . ) ;
2013-07-25 11:48:11 +02:00
2013-07-18 16:17:31 +02:00
int qemuMonitorTestAddItem ( qemuMonitorTestPtr test ,
const char * command_name ,
const char * response ) ;
2012-08-20 14:06:21 +01:00
2016-11-25 10:43:23 +01:00
int qemuMonitorTestAddItemVerbatim ( qemuMonitorTestPtr test ,
const char * command ,
const char * cmderr ,
const char * response ) ;
2013-07-25 12:08:25 +02:00
int qemuMonitorTestAddAgentSyncResponse ( qemuMonitorTestPtr test ) ;
2013-07-25 15:42:38 +02:00
int qemuMonitorTestAddItemParams ( qemuMonitorTestPtr test ,
const char * cmdname ,
const char * response ,
. . . )
ATTRIBUTE_SENTINEL ;
2016-09-27 17:11:55 +02:00
int qemuMonitorTestAddItemExpect ( qemuMonitorTestPtr test ,
const char * cmdname ,
const char * cmdargs ,
bool apostrophe ,
const char * response ) ;
2013-07-25 19:17:44 +02:00
# define qemuMonitorTestNewSimple(json, xmlopt) \
2018-03-22 19:05:26 +01:00
qemuMonitorTestNew ( json , xmlopt , NULL , NULL , NULL , NULL )
# define qemuMonitorTestNewSchema(xmlopt, schema) \
qemuMonitorTestNew ( true , xmlopt , NULL , NULL , NULL , schema )
2013-07-25 19:17:44 +02:00
2012-08-20 14:06:21 +01:00
qemuMonitorTestPtr qemuMonitorTestNew ( bool json ,
2013-07-25 19:17:44 +02:00
virDomainXMLOptionPtr xmlopt ,
2013-07-25 19:28:51 +02:00
virDomainObjPtr vm ,
2013-09-19 13:56:30 +02:00
virQEMUDriverPtr driver ,
2018-03-22 19:05:26 +01:00
const char * greeting ,
virHashTablePtr schema ) ;
2013-03-05 16:17:24 +01:00
2016-06-06 13:46:41 +02:00
qemuMonitorTestPtr qemuMonitorTestNewFromFile ( const char * fileName ,
2016-06-06 16:55:05 +02:00
virDomainXMLOptionPtr xmlopt ,
bool simple ) ;
2016-11-30 14:43:50 +01:00
qemuMonitorTestPtr qemuMonitorTestNewFromFileFull ( const char * fileName ,
virQEMUDriverPtr driver ,
virDomainObjPtr vm ) ;
2016-06-06 13:46:41 +02:00
2013-07-25 12:08:25 +02:00
qemuMonitorTestPtr qemuMonitorTestNewAgent ( virDomainXMLOptionPtr xmlopt ) ;
2012-08-20 14:06:21 +01:00
void qemuMonitorTestFree ( qemuMonitorTestPtr test ) ;
qemuMonitorPtr qemuMonitorTestGetMonitor ( qemuMonitorTestPtr test ) ;
2013-07-25 12:08:25 +02:00
qemuAgentPtr qemuMonitorTestGetAgent ( qemuMonitorTestPtr test ) ;
2012-08-20 14:06:21 +01:00
# endif /* __VIR_QEMU_MONITOR_TEST_UTILS_H__ */