[PATCH v2 05/13] nwfilter: Make _virNWFilterObjPtr private

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Move the structure to virnwfilterobj.c and create necessary accessor API's
for the various fields.

Also make virNWFilterObjFree static since there's no external callers.

Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx>
---
 src/conf/virnwfilterobj.c              | 32 +++++++++++++++++++++++++++++++-
 src/conf/virnwfilterobj.h              | 22 +++++++++-------------
 src/libvirt_private.syms               |  3 +++
 src/nwfilter/nwfilter_driver.c         | 18 +++++++++++-------
 src/nwfilter/nwfilter_gentech_driver.c | 30 ++++++++++++++++++------------
 5 files changed, 72 insertions(+), 33 deletions(-)

diff --git a/src/conf/virnwfilterobj.c b/src/conf/virnwfilterobj.c
index d7c4a13..77d5c1e 100644
--- a/src/conf/virnwfilterobj.c
+++ b/src/conf/virnwfilterobj.c
@@ -33,8 +33,38 @@
 
 VIR_LOG_INIT("conf.virnwfilterobj");
 
+struct _virNWFilterObj {
+    virMutex lock;
 
-void
+    bool wantRemoved;
+
+    virNWFilterDefPtr def;
+    virNWFilterDefPtr newDef;
+};
+
+
+virNWFilterDefPtr
+virNWFilterObjGetDef(virNWFilterObjPtr obj)
+{
+    return obj->def;
+}
+
+
+virNWFilterDefPtr
+virNWFilterObjGetNewDef(virNWFilterObjPtr obj)
+{
+    return obj->newDef;
+}
+
+
+bool
+virNWFilterObjWantRemoved(virNWFilterObjPtr obj)
+{
+    return obj->wantRemoved;
+}
+
+
+static void
 virNWFilterObjFree(virNWFilterObjPtr obj)
 {
     if (!obj)
diff --git a/src/conf/virnwfilterobj.h b/src/conf/virnwfilterobj.h
index f31938d..b02dcfa 100644
--- a/src/conf/virnwfilterobj.h
+++ b/src/conf/virnwfilterobj.h
@@ -26,16 +26,6 @@
 typedef struct _virNWFilterObj virNWFilterObj;
 typedef virNWFilterObj *virNWFilterObjPtr;
 
-struct _virNWFilterObj {
-    virMutex lock;
-
-    bool wantRemoved;
-
-    virNWFilterDefPtr def;
-    virNWFilterDefPtr newDef;
-};
-
-
 typedef struct _virNWFilterObjList virNWFilterObjList;
 typedef virNWFilterObjList *virNWFilterObjListPtr;
 struct _virNWFilterObjList {
@@ -56,6 +46,15 @@ struct _virNWFilterDriverState {
     bool watchingFirewallD;
 };
 
+virNWFilterDefPtr
+virNWFilterObjGetDef(virNWFilterObjPtr obj);
+
+virNWFilterDefPtr
+virNWFilterObjGetNewDef(virNWFilterObjPtr obj);
+
+bool
+virNWFilterObjWantRemoved(virNWFilterObjPtr obj);
+
 void
 virNWFilterObjListFree(virNWFilterObjListPtr nwfilters);
 
@@ -63,9 +62,6 @@ void
 virNWFilterObjRemove(virNWFilterObjListPtr nwfilters,
                      virNWFilterObjPtr obj);
 
-void
-virNWFilterObjFree(virNWFilterObjPtr obj);
-
 virNWFilterObjPtr
 virNWFilterObjFindByUUID(virNWFilterObjListPtr nwfilters,
                          const unsigned char *uuid);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 83e979a..dd6cb98 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -965,7 +965,9 @@ virNodeDeviceObjUnlock;
 virNWFilterObjAssignDef;
 virNWFilterObjFindByName;
 virNWFilterObjFindByUUID;
+virNWFilterObjGetDef;
 virNWFilterObjGetNames;
+virNWFilterObjGetNewDef;
 virNWFilterObjListExport;
 virNWFilterObjListFree;
 virNWFilterObjLoadAllConfigs;
@@ -974,6 +976,7 @@ virNWFilterObjNumOfNWFilters;
 virNWFilterObjRemove;
 virNWFilterObjTestUnassignDef;
 virNWFilterObjUnlock;
+virNWFilterObjWantRemoved;
 
 
 # conf/virsecretobj.h
diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c
index f3f75a3..dd3645a 100644
--- a/src/nwfilter/nwfilter_driver.c
+++ b/src/nwfilter/nwfilter_driver.c
@@ -370,7 +370,7 @@ nwfilterLookupByUUID(virConnectPtr conn,
                        "%s", _("no nwfilter with matching uuid"));
         goto cleanup;
     }
-    def = obj->def;
+    def = virNWFilterObjGetDef(obj);
 
     if (virNWFilterLookupByUUIDEnsureACL(conn, def) < 0)
         goto cleanup;
@@ -401,7 +401,7 @@ nwfilterLookupByName(virConnectPtr conn,
                        _("no nwfilter with matching name '%s'"), name);
         goto cleanup;
     }
-    def = obj->def;
+    def = virNWFilterObjGetDef(obj);
 
     if (virNWFilterLookupByNameEnsureACL(conn, def) < 0)
         goto cleanup;
@@ -493,7 +493,7 @@ nwfilterDefineXML(virConnectPtr conn,
     if (!(obj = virNWFilterObjAssignDef(&driver->nwfilters, def)))
         goto cleanup;
     def = NULL;
-    objdef = obj->def;
+    objdef = virNWFilterObjGetDef(obj);
 
     if (virNWFilterSaveDef(driver->configDir, objdef) < 0) {
         virNWFilterObjRemove(&driver->nwfilters, obj);
@@ -518,6 +518,7 @@ static int
 nwfilterUndefine(virNWFilterPtr nwfilter)
 {
     virNWFilterObjPtr obj;
+    virNWFilterDefPtr def;
     int ret = -1;
 
     nwfilterDriverLock();
@@ -530,8 +531,9 @@ nwfilterUndefine(virNWFilterPtr nwfilter)
                        "%s", _("no nwfilter with matching uuid"));
         goto cleanup;
     }
+    def = virNWFilterObjGetDef(obj);
 
-    if (virNWFilterUndefineEnsureACL(nwfilter->conn, obj->def) < 0)
+    if (virNWFilterUndefineEnsureACL(nwfilter->conn, def) < 0)
         goto cleanup;
 
     if (virNWFilterObjTestUnassignDef(obj) < 0) {
@@ -541,7 +543,7 @@ nwfilterUndefine(virNWFilterPtr nwfilter)
         goto cleanup;
     }
 
-    if (virNWFilterDeleteDef(driver->configDir, obj->def) < 0)
+    if (virNWFilterDeleteDef(driver->configDir, def) < 0)
         goto cleanup;
 
     virNWFilterObjRemove(&driver->nwfilters, obj);
@@ -564,6 +566,7 @@ nwfilterGetXMLDesc(virNWFilterPtr nwfilter,
                    unsigned int flags)
 {
     virNWFilterObjPtr obj;
+    virNWFilterDefPtr def;
     char *ret = NULL;
 
     virCheckFlags(0, NULL);
@@ -577,11 +580,12 @@ nwfilterGetXMLDesc(virNWFilterPtr nwfilter,
                        "%s", _("no nwfilter with matching uuid"));
         goto cleanup;
     }
+    def = virNWFilterObjGetDef(obj);
 
-    if (virNWFilterGetXMLDescEnsureACL(nwfilter->conn, obj->def) < 0)
+    if (virNWFilterGetXMLDescEnsureACL(nwfilter->conn, def) < 0)
         goto cleanup;
 
-    ret = virNWFilterDefFormat(obj->def);
+    ret = virNWFilterDefFormat(def);
 
  cleanup:
     if (obj)
diff --git a/src/nwfilter/nwfilter_gentech_driver.c b/src/nwfilter/nwfilter_gentech_driver.c
index 761a01b..b356d87 100644
--- a/src/nwfilter/nwfilter_gentech_driver.c
+++ b/src/nwfilter/nwfilter_gentech_driver.c
@@ -379,6 +379,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
     virNWFilterObjPtr obj;
     virNWFilterHashTablePtr tmpvars = NULL;
     virNWFilterDefPtr childdef;
+    virNWFilterDefPtr newChilddef;
     int ret = -1;
 
     VIR_DEBUG("Instantiating filter %s", inc->filterref);
@@ -390,7 +391,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
                        inc->filterref);
         goto cleanup;
     }
-    if (obj->wantRemoved) {
+    if (virNWFilterObjWantRemoved(obj)) {
         virReportError(VIR_ERR_NO_NWFILTER,
                        _("Filter '%s' is in use."),
                        inc->filterref);
@@ -402,12 +403,13 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
                                               vars)))
         goto cleanup;
 
-    childdef = obj->def;
+    childdef = virNWFilterObjGetDef(obj);
 
     switch (useNewFilter) {
     case INSTANTIATE_FOLLOW_NEWFILTER:
-        if (obj->newDef) {
-            childdef = obj->newDef;
+        newChilddef = virNWFilterObjGetNewDef(obj);
+        if (newChilddef) {
+            childdef = newChilddef;
             *foundNewFilter = true;
         }
         break;
@@ -505,6 +507,7 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
     int rc = 0;
     size_t i, j;
     virNWFilterDefPtr next_filter;
+    virNWFilterDefPtr newNext_filter;
     virNWFilterVarValuePtr val;
 
     for (i = 0; i < filter->nentries; i++) {
@@ -545,7 +548,7 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
             obj = virNWFilterObjFindByName(&driver->nwfilters, inc->filterref);
             if (obj) {
 
-                if (obj->wantRemoved) {
+                if (virNWFilterObjWantRemoved(obj)) {
                     virReportError(VIR_ERR_NO_NWFILTER,
                                    _("Filter '%s' is in use."),
                                    inc->filterref);
@@ -564,12 +567,13 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
                     break;
                 }
 
-                next_filter = obj->def;
+                next_filter = virNWFilterObjGetDef(obj);
 
                 switch (useNewFilter) {
                 case INSTANTIATE_FOLLOW_NEWFILTER:
-                    if (obj->newDef)
-                        next_filter = obj->newDef;
+                    newNext_filter = virNWFilterObjGetNewDef(obj);
+                    if (newNext_filter)
+                        next_filter = newNext_filter;
                     break;
                 case INSTANTIATE_ALWAYS:
                     break;
@@ -790,6 +794,7 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
     virNWFilterObjPtr obj;
     virNWFilterHashTablePtr vars, vars1;
     virNWFilterDefPtr filter;
+    virNWFilterDefPtr newFilter;
     char vmmacaddr[VIR_MAC_STRING_BUFLEN] = {0};
     char *str_macaddr = NULL;
     virNWFilterVarValuePtr ipaddr;
@@ -815,7 +820,7 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
         return -1;
     }
 
-    if (obj->wantRemoved) {
+    if (virNWFilterObjWantRemoved(obj)) {
         virReportError(VIR_ERR_NO_NWFILTER,
                        _("Filter '%s' is in use."),
                        filtername);
@@ -847,12 +852,13 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
         goto err_exit_vars1;
     }
 
-    filter = obj->def;
+    filter = virNWFilterObjGetDef(obj);
 
     switch (useNewFilter) {
     case INSTANTIATE_FOLLOW_NEWFILTER:
-        if (obj->newDef) {
-            filter = obj->newDef;
+        newFilter = virNWFilterObjGetNewDef(obj);
+        if (newFilter) {
+            filter = newFilter;
             *foundNewFilter = true;
         }
         break;
-- 
2.9.3

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux