Index: /trunk/src/VBox/Main/glue/vboxapi.py
===================================================================
--- /trunk/src/VBox/Main/glue/vboxapi.py	(revision 55588)
+++ /trunk/src/VBox/Main/glue/vboxapi.py	(revision 55589)
@@ -293,4 +293,17 @@
         return None
 
+    def setArray(self, oInterface, sAttrib, aoArray):
+        """
+        Sets the value (aoArray) of the array attribute 'sAttrib' in
+        interface 'oInterface'.
+
+        This is for hiding platform specific differences in attributes
+        setting arrays.
+        """
+        _ = oInterface
+        _ = sAttrib
+        _ = aoArray
+        return None
+
     def initPerThread(self):
         """
@@ -550,4 +563,7 @@
     def getArray(self, oInterface, sAttrib):
         return oInterface.__getattr__(sAttrib)
+
+    def setArray(self, oInterface, sAttrib, aoArray):
+        return oInterface.__setattr__(sAttrib, aoArray)
 
     def initPerThread(self):
@@ -754,4 +770,7 @@
         return oInterface.__getattr__('get' + ComifyName(sAttrib))()
 
+    def setArray(self, oInterface, sAttrib, aoArray):
+        return oInterface.__getattr__('set' + ComifyName(sAttrib))(aoArray)
+
     def initPerThread(self):
         import xpcom
@@ -878,4 +897,7 @@
     def getArray(self, oInterface, sAttrib):
         return oInterface.__getattr__(sAttrib)
+
+    def setArray(self, oInterface, sAttrib, aoArray):
+        return oInterface.__setattr__(sAttrib, aoArray)
 
     def waitForEvents(self, timeout):
@@ -1040,4 +1062,8 @@
         return self.platform.getArray(oInterface, sAttrib)
 
+    def setArray(self, oInterface, sAttrib, aoArray):
+        """ See PlatformBase::setArray(). """
+        return self.platform.setArray(oInterface, sAttrib, aoArray)
+
     def createListener(self, oImplClass, dArgs=None):
         """ See PlatformBase::createListener(). """
