]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
test: Return Libvirt logo as domain screenshot
authorMichal Privoznik <mprivozn@redhat.com>
Fri, 29 Mar 2013 21:25:13 +0000 (22:25 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 2 Apr 2013 12:38:56 +0000 (14:38 +0200)
This is just a bare Easter Egg. Whenever a user runs virDomainScreenshot
over a domain in test driver, he'll get the Libvirt PNG logo in return.

docs/Makefile.am
libvirt.spec.in
mingw-libvirt.spec.in
src/test/test_driver.c

index 75837727ec8d94115e4bd25d2ab3cc8ad6ca1d4b..137756b11b83bb44123ef99b16fde107608eef22 100644 (file)
@@ -287,6 +287,7 @@ install-data-local:
        for file in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
            $(INSTALL) -m 0644 $(srcdir)/$${file} $(DESTDIR)$(DEVHELP_DIR) ; \
        done
+       $(INSTALL_DATA) $(srcdir)/libvirtLogo.png $(DESTDIR)$(pkgdatadir)
 
 uninstall-local:
        for h in $(apihtml); do rm $(DESTDIR)$(HTML_DIR)/$$h; done
index 2da055894fadebe4b7998644510829bab116d4bb..34b3f9c8773f04df1b234cc10c9f9fba67ee584f 100644 (file)
@@ -1941,6 +1941,7 @@ fi
 %{_datadir}/libvirt/schemas/storagevol.rng
 
 %{_datadir}/libvirt/cpu_map.xml
+%{_datadir}/libvirt/libvirtLogo.png
 
 %if %{with_systemd}
 %{_unitdir}/libvirt-guests.service
index b27b0ee4b81ab58be2b1462c3366ee4e0f26abae..9208329a896ee705d926c7d10219c322844519b3 100644 (file)
@@ -221,6 +221,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
 %{mingw32_datadir}/libvirt/api/libvirt-qemu-api.xml
 
 %{mingw32_datadir}/libvirt/cpu_map.xml
+%{mingw32_datadir}/libvirt/libvirtLogo.png
 
 %{mingw32_datadir}/locale/*/LC_MESSAGES/libvirt.mo
 
@@ -280,6 +281,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
 %{mingw64_datadir}/libvirt/api/libvirt-qemu-api.xml
 
 %{mingw64_datadir}/libvirt/cpu_map.xml
+%{mingw64_datadir}/libvirt/libvirtLogo.png
 
 %{mingw64_datadir}/locale/*/LC_MESSAGES/libvirt.mo
 
index c5fffb917a948a917a2e396a8fef72198e4fd707..4dbd7758d4f69da06892f986544bcbca4afff109 100644 (file)
 #include "virutil.h"
 #include "viruuid.h"
 #include "capabilities.h"
+#include "configmake.h"
 #include "viralloc.h"
 #include "network_conf.h"
 #include "interface_conf.h"
 #include "domain_conf.h"
 #include "domain_event.h"
+#include "fdstream.h"
 #include "storage_conf.h"
 #include "node_device_conf.h"
 #include "virxml.h"
@@ -5773,6 +5775,27 @@ cleanup:
     return ret;
 }
 
+static char *
+testDomainScreenshot(virDomainPtr dom ATTRIBUTE_UNUSED,
+                     virStreamPtr st,
+                     unsigned int screen ATTRIBUTE_UNUSED,
+                     unsigned int flags)
+{
+    char *ret = NULL;
+
+    virCheckFlags(0, NULL);
+
+    if (!(ret = strdup("image/png"))) {
+        virReportOOMError();
+        return NULL;
+    }
+
+    if (virFDStreamOpenFile(st, PKGDATADIR "/libvirtLogo.png", 0, 0, O_RDONLY < 0))
+        VIR_FREE(ret);
+
+    return ret;
+}
+
 
 static virDriver testDriver = {
     .no = VIR_DRV_TEST,
@@ -5843,6 +5866,7 @@ static virDriver testDriver = {
     .domainEventDeregisterAny = testDomainEventDeregisterAny, /* 0.8.0 */
     .isAlive = testIsAlive, /* 0.9.8 */
     .nodeGetCPUMap = testNodeGetCPUMap, /* 1.0.0 */
+    .domainScreenshot = testDomainScreenshot, /* 1.0.5 */
 };
 
 static virNetworkDriver testNetworkDriver = {