88a2dc1 Support passing dict by reference for dbus messages

Authored and Committed by berrange 9 years ago
    Support passing dict by reference for dbus messages
    
    Currently DBus dict values must be passed inline
    
       virDBusMessageEncode("a{ss}",
                            3,
                            "key1", "val1",
                            "key2", "val2",
                            "key3", "val3");
       virDBusMessageDecode("a{ss}",
                            3,
                            &key1, &val1,
                            &key2, &val2,
                            &key3, &val3);
    
    This allows them to be passed by reference
    
       const char **dictin = {
          "key1", "val1",
          "key2", "val2",
          "key3", "val3"
       };
       char **dictout;
       size_t ndictout;
    
       virDBusMessageEncode("a&{ss}",
                            ARRAY_CARDINALITY(dict) / 2,
                            dictin);
       virDBusMessageDecode("a&{ss}",
                            &ndictout,
                            &dictout);
    
    Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
    
        
file modified
+191 -83
file modified
+14 -0
file modified
+2 -0
file modified
+216 -2