} \
} while (0)
-# define VIR_IS_NWFILTER(obj) \
- (virObjectIsClass((obj), virNWFilterClass))
-# define VIR_IS_CONNECTED_NWFILTER(obj) \
- (VIR_IS_NWFILTER(obj) && virObjectIsClass((obj)->conn, virConnectClass))
+# define virCheckNWFilterReturn(obj, retval) \
+ do { \
+ virNWFilterPtr _nw = (obj); \
+ if (!virObjectIsClass(_nw, virNWFilterClass) || \
+ !virObjectIsClass(_nw->conn, virConnectClass)) { \
+ virReportErrorHelper(VIR_FROM_NWFILTER, \
+ VIR_ERR_INVALID_NWFILTER, \
+ __FILE__, __FUNCTION__, __LINE__, \
+ __FUNCTION__); \
+ virDispatchError(NULL); \
+ return retval; \
+ } \
+ } while (0)
# define VIR_IS_SNAPSHOT(obj) \
(virObjectIsClass((obj), virDomainSnapshotClass))
#define virLibDomainError(code, ...) \
virReportErrorHelper(VIR_FROM_DOM, code, __FILE__, \
__FUNCTION__, __LINE__, __VA_ARGS__)
-#define virLibNWFilterError(code, ...) \
- virReportErrorHelper(VIR_FROM_NWFILTER, code, __FILE__, \
- __FUNCTION__, __LINE__, __VA_ARGS__)
#define virLibDomainSnapshotError(code, ...) \
virReportErrorHelper(VIR_FROM_DOMAIN_SNAPSHOT, code, __FILE__, \
__FUNCTION__, __LINE__, __VA_ARGS__)
virResetLastError();
- if (!VIR_IS_CONNECTED_NWFILTER(nwfilter)) {
- virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
- virDispatchError(NULL);
- return -1;
- }
+ virCheckNWFilterReturn(nwfilter, -1);
virObjectUnref(nwfilter);
return 0;
virResetLastError();
- if (!VIR_IS_NWFILTER(nwfilter)) {
- virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
- virDispatchError(NULL);
- return NULL;
- }
+ virCheckNWFilterReturn(nwfilter, NULL);
+
return nwfilter->name;
}
virResetLastError();
- if (!VIR_IS_NWFILTER(nwfilter)) {
- virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
- virDispatchError(NULL);
- return -1;
- }
+ virCheckNWFilterReturn(nwfilter, -1);
virCheckNonNullArgGoto(uuid, error);
memcpy(uuid, &nwfilter->uuid[0], VIR_UUID_BUFLEN);
virResetLastError();
- if (!VIR_IS_NWFILTER(nwfilter)) {
- virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
- virDispatchError(NULL);
- return -1;
- }
+ virCheckNWFilterReturn(nwfilter, -1);
virCheckNonNullArgGoto(buf, error);
virUUIDFormat(nwfilter->uuid, buf);
virResetLastError();
- if (!VIR_IS_CONNECTED_NWFILTER(nwfilter)) {
- virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
- virDispatchError(NULL);
- return -1;
- }
-
+ virCheckNWFilterReturn(nwfilter, -1);
conn = nwfilter->conn;
+
virCheckReadOnlyGoto(conn->flags, error);
if (conn->nwfilterDriver && conn->nwfilterDriver->nwfilterUndefine) {
virResetLastError();
- if (!VIR_IS_CONNECTED_NWFILTER(nwfilter)) {
- virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
- virDispatchError(NULL);
- return NULL;
- }
-
+ virCheckNWFilterReturn(nwfilter, NULL);
conn = nwfilter->conn;
if (conn->nwfilterDriver && conn->nwfilterDriver->nwfilterGetXMLDesc) {
virResetLastError();
- if ((!VIR_IS_CONNECTED_NWFILTER(nwfilter))) {
- virLibConnError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
- virDispatchError(NULL);
- return -1;
- }
+ virCheckNWFilterReturn(nwfilter, -1);
+
virObjectRef(nwfilter);
return 0;
}