| /* |
| * VMState interface |
| * |
| * Copyright (c) 2009-2019 Red Hat Inc |
| * This work is licensed under the terms of the GNU GPL, version 2 or later. |
| * See the COPYING file in the top-level directory. |
| */ |
| |
| #ifndef VMSTATE_IF_H |
| #define VMSTATE_IF_H |
| |
| #include "qom/object.h" |
| |
| #define TYPE_VMSTATE_IF "vmstate-if" |
| |
| typedef struct VMStateIfClass VMStateIfClass; |
| DECLARE_CLASS_CHECKERS(VMStateIfClass, VMSTATE_IF, |
| TYPE_VMSTATE_IF) |
| #define VMSTATE_IF(obj) \ |
| INTERFACE_CHECK(VMStateIf, (obj), TYPE_VMSTATE_IF) |
| |
| typedef struct VMStateIf VMStateIf; |
| |
| struct VMStateIfClass { |
| InterfaceClass parent_class; |
| |
| char * (*get_id)(VMStateIf *obj); |
| }; |
| |
| static inline char *vmstate_if_get_id(VMStateIf *vmif) |
| { |
| if (!vmif) { |
| return NULL; |
| } |
| |
| return VMSTATE_IF_GET_CLASS(vmif)->get_id(vmif); |
| } |
| |
| #endif /* VMSTATE_IF_H */ |